[Webkit-unassigned] [Bug 7138] New: Implement tabindex for all elements, enabling accessible web apps

bugzilla-daemon at opendarwin.org bugzilla-daemon at opendarwin.org
Tue Feb 7 18:45:51 PST 2006


http://bugzilla.opendarwin.org/show_bug.cgi?id=7138

           Summary: Implement tabindex for all elements, enabling accessible
                    web apps
           Product: WebKit
           Version: 420+ (nightly)
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P2
         Component: Accessibility
        AssignedTo: webkit-unassigned at opendarwin.org
        ReportedBy: aaronleventhal at moonset.net


Support tabindex for all elements, thus enabling accessible DHTML/AJAX web
applications. Both IE and Gecko-based browsers such as Firefox now support
tabIndex on all elements. The Web Applications spec from WHATWG also enables
tabIndex for all elements
(http://whatwg.org/specs/web-apps/current-work/#the-tabindex)

Basically, any element such as a div or span can be added to the default tab
order by setting tabindex="0". In addition, any item with tabindex="-1" can be
focused via script or mouse. 

The tabindex system is needed for developing custom widgets which are
accessible, from simple widgets like a slider to container widgets like a
menubar, tree view or spreadsheet. IBM needs this for web apps it is
developing, in order for them to run properly on Safari. Other large
organizations are also picking up DHTML accessibility.

* The Gecko documentation on what the behavior should be is here:
http://www.mozilla.org/access/keyboard/tabindex
* The MSDN docs for IE's tabindex behavior is here:
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/tabindex.asp
* Test cases and more docs about DHTML accessibility here:
http://www.mozilla.org/access/dhtml
* W3C standards work in this area:
http://www.w3.org/WAI/PF/roadmap/DHTMLRoadmap110505.html

Work we had to do in Gecko (see
https://bugzilla.mozilla.org/show_bug.cgi?id=171366):
- Have each element class support an IsFocusable method which also returns a
boolean out to indicate whether it is tabbable.
  Specific implementations of the method need to upcall to the generic
element's method, which jas the generic tabindex implementation..
  Then the scripting, mouse click handling and tab key handling  code needs to
use the new IsFocusable() method.
- Support the focus() method in nsIDOMNSHTMLElement, which is outside of the
official DOM interface but is supported fro all elements.
- Add rules to the default style sheet so that any element with :focus receives
a focus outline
- Make cancelling an keydown event cancel the keypress event, for purposes of
compatibility with IE. Authors writing cross-browser content should use keydown
events to process keystrokes, because IE won't fire keypress events for
non-alphanumeric keys.
- Ensure that all elements which are focusable are exposed in the accessibility
API hierarchy, so that when they get focused there is an object to fire an
accessibility event for.
- Any element that can receive focus must fire onfocus/onblur


-- 
Configure bugmail: http://bugzilla.opendarwin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list