Will, first let me apologize for the long essay. I dislike reading them myself :) But, this is a complicated issue.
I don't think it's very easy for just Firefox to support the keyboard proposal. My advice is still "avoid this". If you care for the details on why or want to debate it, read on .... The 3 ways I can think of supporting that keyboard proposal at all all have problems. 1) A XUL extension (current example exists -- Fire Vox) /Strength: /can do lots of cool settings and UI features in addition. Could do something HPR-like. /Weakness/: only works with Firefox, not with Yelp or anything that builds Gecko in. Gecko is a component of Eclipse, and can easily be added to any app. Doesn't work with plugins. 2) An XPCOM startup component (current example exists -- SeaMonkey's nsTypeAheadFind extension or "find as you type") /Strength:/ can work with any Gecko, even if no XUL involved. Can be done in JavaScript or C++. /Weakness: /No guarantee you'd get community approval to have it built in. In fact, I'd be surprised if you got it. One reason Firefox was created was because Seamonkey was too considered too fat. Every new prompt is fought for in Firefox. Perf/bloat reasons aside, no one wants to have a redundant component -- they will tell you there is no sense creating some new built-in component just because it is too hard to fix the old one. Okay, if not built-in, you could just use a JS component which would avoid any binary compatibility issues. If it's in the [bindir]/components directory it will just work, but could I'm not sure how to do the right thing for proper versioning, installation and uninstallation. I think there's a way to put it outside of that directory and call something in the Mozilla directory to register it, but you'd have to ask an XPCOM expert. Seems like a headache, but doable. Still not "out of the box though", and still doesn't work with plug-ins, but you can support all apps and are free to design it. 3) Fix Mozilla's caret browsing /Strength: /built-into every install /Weakness/: no one wants to work on it, brittle code, it may be difficult to get all the proposal features in so that everyone's satisfied (remember the 1000 emails last time this was discussed). Touches core layout code, and hard to get the multiple level of reviews required for each touchy change. Easy to make regressions that affect basic editing. I don't know anyone who is up to this task, sorry! Personally I think someone needs to own that code, and I will push for that when I can. General problems with any caret browsing soluton: a) Plug-ins. Home Page Reader had to solve this by bundling a separate MSAA screen reader called MDR. This is possibly the worst problem. Even if some of the plugins support full keynav I'm skeptical that it won't be inconsistent with caret browsing. b) Dealing with static text such as list bullets and ALT text. c) Dealing with some form controls will be a challenge -- e.g. comboboxes. d) Dealing with non-HTML content types will be a challenge (DHTML and even XUL can be in content) As far as bulding it in (#3). There is a lot of cross over in key navigation needs, but IMO screen reader users need more than the built in keyboard navigation Screen reader users want to efficiently move through document structures without accidentally entering information in forms. The thinking about where to move is usually less visual (obviously). They also want to be able to move character by character through any text, including alt text and list bullets. I also don't see exactly the same needs from sighted non-mouse users. I'm sure someone will correct me on this :/ Yes, we should fix the problems that are there in the built-in caret nav and continue to make it better. This would be useful for a lot of people, and should get done, but it's not going happen easily because of problems with the code itself. Unfortunately, even if it does happen, it will take longer than we're willing to wait, it will not go as far as we want, and be difficult to change. Just in case anyone wonders, I'm not at all a bottleneck keeping better keyboard navigation out of Firefox. I recently gave ownership of that module over to Mozilla, because I'm too busy improving core accessibility API support to handle much else. That said, anything that involves touching core Mozilla keyboard code or any kind of new built-in component will be a major nightmare. There are those who think it's a question of technical ability, and that they can do it better so it's no problem .... I wish you good luck :) Yee've been warned. - Aaron Willie Walker wrote: > Hi Aaron: > > Thanks for sending this on. Look like good work. In the keyboard > section, I notice there's a link to the following: > > http://www.mozilla.org/support/firefox/keyboard > > One thing that I think is very important to include is keyboard > traversal and caret navigation of the web content itself. There's a > proposal for this, which may or may not be up-to-date: > > http://www.mozilla.org/access/keyboard/proposal > > If Firefox were to support this proposal (or an update form of it), I > think it would be very useful to a large population: screen readers > wouldn't need to define their own navigation model, people with physical > impairments (and people like me who don't like using the mouse) would > have a supported model for navigating and doing cut/paste operations, > etc. > > Thanks! > > Will > > On Wed, 2006-09-13 at 00:47 -0400, Aaron Leventhal wrote: > >> This new document describes the current state of Mozilla's support for >> AT-SPI, on experimental trunk builds: >> http://www.mozilla.org/access/unix/atspi-support >> >> It's a work-in-progress. I plan to keep it up-to-date as we make >> changes. Feedback is welcome. Let me know if you want more items >> clarified or added to the "To Do" section after the table of contents. >> >> Eventually I'll get this up on a wiki as well. >> >> - Aaron >> _______________________________________________ >> Gnome-accessibility-devel mailing list >> Gnome-accessibility-devel@gnome.org >> http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel >> > > > _______________________________________________ Gnome-accessibility-devel mailing list Gnome-accessibility-devel@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel