Closed Bug 456133 Opened 18 years ago Closed 2 years ago

Can't shift-tab back through the content area in some circumstances

Categories

(Camino Graveyard :: Accessibility, defect)

All
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: alqahira, Unassigned)

References

Details

From bug 152987 comment 69: To ensure the toolbar is properly integrated at the correct location, the key view loop must be a closed one, meaning the last key view must jump around and point to the first. Also, there must be no views which canBecomeKeyView outside of the loop for AppKit to properly detect where the toolbar belongs. This last point is our problem, as the ChildView Gecko content subviews of CHBrowserView are not present in the loop. Apple recommended that I recursively loop over all CHBrowserView subviews when page loading is complete and set a next key view on them. This approach does work and allows the entire window's loop to work soundly forward and backward, but not in all situations. ChildView's can be created dynamically, after the page loading process is complete (on Google.com for instance, clicking "more" to display a menu of additional searches prompts the creation of another subview). Furthermore, with 10.4+ support we have available NSWindow's setAutorecalculatesKeyViewLoop and recalculateKeyViewLoop, but they do not assign any nextKeyView on any ChildViews. So, again, without incorporating the ChildViews into the loop, forward tabbing still does work correctly throughout the entire window. Reverse (shift) tabbing also works correctly except the toolbar is skipped. I'll continue to take a look at this, and, it is indeed the best approach, I'll try to determine a way to ensure ChildViews are always present in this loop. Feel free to share any ideas.
Hardware: Macintosh → All
Summary: Can's shift-tab back through the content area in some circumstances → Can't shift-tab back through the content area in some circumstances
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.