Re: [Fwd: [Bug 157941] Help browser content is inaccessible [REGRESSION]]



[cc'ing gnome-doc-devel list to bring everyone interested up to date]

Hi Ginn,

I'll try and summarise as briefly as possible.

I'm using firefox 1.5 and yelp from CVS.  AFAIK, firefox 1.0 series wont
work at all with a11y (at least not with Yelp).

The current situation is this:

Running yelp and gok, select UIGrab in GOK, all the hyperlinks show up
as expected and they can be selected etc.

When a hyperlink is selected though (either from yelp or through GOK),
the yelp page will change and show the new page, but gok will not update
its UIGrab to reflect this change.  In GOK, selecting back and UIGrab
once again, and all the (new) hyperlinks are displayed correctly.

In the bug report, Bill Haneman states that GOK refreshes its UIGrab
when it detects an "object:child-changed:add" signal, which should be
taken care of by mozilla.

Now for the fun bit:

Christian Persch suggested that this might be due to a mozilla bug due
to gtkmozembed streams not emitting an onload trigger.[1]

To test this, I first tried loading a framed HTML document in yelp.  Due
to some funky quirks, this uses the gtk_moz_embed_load_url function
instead of streams (which are used for every other type of document yelp
can load). [2]

With an HTML doc using frames, GOK works nicely, updating its UIGrab to
show the new hyperlinks whenever the page is changed, provided I stay
within the HTML frameset document (i.e. only go to different sections of
the document).  

I then hacked Yelp to only load pages using gtk_moz_embed_load_url, no
streams (in a really ugly way) [3].  Doing this, GOK again updates its
UIGrab when a new page is loaded.

This, to me suggests a mozilla bug.  I had a look around the firefox
source code, but I got scared of it so I gave up.

That just about brings you up to date.

Now, what can be done about this?
I have been thinking about this on and off for a few days.  As far as I
can see, there are a couple of options:
1. Get this fixed in Mozilla / Firefox and get a point release out.
Yelp can then put a big warning in saying something like: "A11y only
works with version x of firefox".
2. Find a way of emitting the object:child-changed:add signal somewhere
in Yelp when its finished loading the current page.

Other options would be most welcome.  Pretty much any help or hints for
getting yelp / gecko to play nice with GOK would be most appreciated.

I've not had much luck with trying to get an object:child-changed:add
signal emitted from anything, but this is the first time I've really
looked at a11y stuff, so someone more knowledgable than me may be able
to help here.

Cheers
Don

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=293670
[2] This will only work with a current yelp CVS version 
[3] This was a real hack and only barely worked, so it can't really be
used as a solution

On Wed, 2006-01-11 at 18:09 +0800, Ginn Chen wrote:
> Hi Don,
> 
> 
> I'm working on Mozilla accessibility. Peter Korn forwarded this email
> to me.
> But I got lost in the bug report.
> (http://bugzilla.gnome.org/show_bug.cgi?id=157941)
> 
> 
> Can you summarize the current behavior  of this bug? And how can I
> help?
> 
> 
> I built yelp from HEAD on Ubuntu 5.10 (gnome 2.12).
> From your comment, it seems there's a gok updating problem.
> But I found gok can't UI grab any hyperlink from my yelp.
> Did I miss something?
> 
> 
> Thanks,
> 
> 
> Ginn
> 
> On Jan 11, 2006, at 3:42 AM, Peter Korn wrote:
> 
> > Greetings,
> > 
> > 
> > Could you please take a look at the attached bug.  The GNOME folks
> > are moving to using Mozilla for the on-line help system in GNOME
> > 2.14.  They've found a problem with GOK, and Don Scorgie thinks the
> > underlying issue may lie with Mozilla.
> > 
> > 
> > 
> > 
> > Thanks!
> > 
> > 
> > Peter
> > 
> > 
> > From: "Yelp (bugzilla.gnome.org)"
> > <bugzilla-daemon bugzilla gnome org>
> > Date: January 11, 2006 2:07:51 AM CST
> > To: gnome-access-bugs basso sfbay sun com
> > Subject: [Bug 157941] Help browser content is inaccessible
> > [REGRESSION]
> > 
> > 
> > 
> > 
> > Do not reply to this via email (we are currently unable to handle
> > email
> > responses and they get discarded).  You can add comments to this bug
> > at
> > http://bugzilla.gnome.org/show_bug.cgi?id=157941
> >  Yelp | general | Ver: HEAD
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > ------- Comment #46 from Don Scorgie  2006-01-10 18:07 UTC -------
> > Hi again.
> > 
> > 
> > I've done a little more digging and heres what I have found out.  If
> > a framed
> > html is loaded (using yelp from CVS as that is the only place where
> > frames work
> > ;) ), mozilla is left to handle the loading of it by itself (through
> > gtk_moz_embed_load_url).  In all other cases, it is using
> > gtkmozembeds streams.
> > 
> > 
> > When a framed html is loaded, gok is correctly updated.  As long as
> > I stay
> > within the document (i.e. internal links, loaded using
> > gtk_moz_embed_load_url),
> > gok keeps up to date.
> > 
> > 
> > I'm not exactly a mozilla expert, but I think this is probably
> > related to the
> > mozilla bug mentioned in comment #42 (embed stream API doesn't fire
> > onload
> > event).
> > 
> > 
> > Since this is a mozilla bug, is there a way to work around it?  Is
> > it possible
> > to fire off a children-changed:add event for the window or html
> > frame?  If not,
> > is there any other way around it?  It would be REALLY nice to get
> > this fixed up
> > fully for gnome 2.14.
> > 
> > 
> > 
> > 
> > -- 
> > Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
> > ------- You are receiving this mail because: -------
> > You are on the CC list for the bug.
> > 
> > 
> > 
> > 
> 
> ----
> Ginn Chen
> Software Engineer, Browser Team
> Sun Microsystems, Inc.
> Phone: +86-10-82618200 (x82869)
> Fax:   +86-10-62780969
> 
> 
> 
> 
> 
> 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]