Re: [orca-list] Structural navigation



Hi Tomas:

the question is: Is Orca really the right place to implement document
navigation or could it be done on a different level?
I don't believe Orca is the right place to implement a number of 
navigation techniques.  Instead, it should be provided by the toolkit 
and/or application.  My reasoning for this is that quality navigation 
techniques benefit more than just one class of user and can be far more 
efficient if done inside the application space.
We had many long and difficult conversations with the Firefox team about 
getting Firefox to properly support keyboard navigation.  The problem is 
that the caret navigation code in Gecko is apparently ensnarled deep 
inside the core rendering code.  My understanding is that nobody 
understands it and nobody wants to touch it.
In addition, at the time the AT-SPI implementation of Firefox was still 
emerging.  So...with finite resources, the collective community chose to 
work with getting the AT-SPI implementation done and complete rather 
than spend Gecko engineering time on keyboard navigation.
Knowing that Firefox would not solve the keyboard navigation issue, we 
made the decision to go down one of two paths: 1) implement the 
navigation logic in Orca itself, or 2) write a Firefox extension to do 
the navigation.  We chose to do it in Orca mainly because we didn't want 
to require the user to install an extra extension and because we really 
didn't know how to write an extension.  In doing the work, we 
anticipated that Firefox would eventually support keyboard navigation. 
As a result, we instrumented Orca so that we could hopefully just 'turn 
off' the Orca navigation code once Firefox properly supported keyboard 
navigation.
With the huge Gecko/AT-SPI implementation hump behind us, it might be 
time to consider moving navigation back 'in process' in Gecko.  Given 
the huge amount of pushback we had regarding actually fixing the core 
Gecko code itself, I suspect the logical path might be to write a 
keyboard navigation extension for Firefox.
Will




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