User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:22.214.171.124) Gecko/20070725 Firefox/126.96.36.199 Build Identifier: 3.0a8pre Mapping of ARIA role spinbutton to MSAA role SPINBUTTON is not in line with the MSAA spec. An ARIA spin button derives from range -> input -> widget. An MSAA SPINBUTTON is a container for an up and down BUTTON. ATs will have to deal with the redefined meaning of MSAA SPINBUTTON as a special case for FF. Considering the current (9/07) ARIA spec I don't see an alternative to redefining the meaning of SPINBUTTON. ARIA currently has no equivalent to an MSAA SPINBUTTON which would be needed to implement an equivalent to Win spinners. If we can update the ARIA spec, there are two alternatives that would allow an implementation that doesn't redefine the meaning of an MSAA SPINBUTTON: 1) Match the Win architecture, i.e. create a new ARIA role equivalent to MSAA SPINBUTTON. The toolkits (like dojo) creating spinners would give the text portion an ARIA role of "range" or "input" and that would map to MSAA TEXT and the button portion would use an ARIA role which maps to MSAA SPINBUTTON. The new ARIA role (MSAA SPINBUTTON equivalent) is needed because ATs need to find a TEXT object and a SPINBUTTON object. (For now, I am assuming the physical placement of objects with those roles is how ATs detect spinners.) 2) Create a new ARIA role "spinbox" which would map to a new IA2 role SPINBOX. IAValue would be implemented. The second seems preferable. Reproducible: Always Steps to Reproduce: An implementation of an ARIA spinbutton can be found at http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/form/test_Spinner.html Actual Results: See details. Expected Results: See details.
(In reply to comment #0) > 2) Create a new ARIA role "spinbox" which would map to a new IA2 role SPINBOX. > IAValue would be implemented. Pete, it seems we have old version of AccessibleRole because there is no SPINBOX role there (http://lxr.mozilla.org/mozilla/source/other-licenses/ia2/AccessibleRole.idl).
Alexander, There currently is no IA2 role of SPINBOX but I could add it if you want it for FF3.
Surkov, getting our text support, events and stability correct are more important. Let's do all of that first.
Created attachment 282012 [details] [diff] [review] patch correct msaa role mapping
Pete, the second approach looks reasonable, it allows IA2 be compatible with aria/atk. If we would care about msaa then aria should be changed, I mean the first approach.
Comment on attachment 282012 [details] [diff] [review] patch Surkov, we need to expose it as spinbutton otherwise the user won't know to use up/down arrow to change the value. I don't think we need to do anything here at all. If it works fine in forms mode, that's good enough for now. The screen readers can tweak their support to work with what we have.
(In reply to comment #7) > (From update of attachment 282012 [details] [diff] [review]) > Surkov, we need to expose it as spinbutton otherwise the user won't know to use > up/down arrow to change the value. Note, bug 390298 supposes buttons aren't exposed in ally tree at all. > I don't think we need to do anything here at all. If it works fine in forms > mode, that's good enough for now. The screen readers can tweak their support to > work with what we have. What does "works fine in forms mode" mean? Why should screen readers have special support for firefox spinbuttons? I though we should have a correct map roles for msaa and to add new role for IA2 like Pete suggested.
> 2) Create a new ARIA role "spinbox" which would map to a new IA2 role SPINBOX. > IAValue would be implemented. Pete, can you give more explanation of this?
Note http://www.w3.org/WAI/PF/aria-implementation/ currently suggests mapping to ROLE_SYSTEM_SPINBUTTON. I think AT will have to deal. Pete, Alexander, do you agree with closing this as WONTFIX?
(In reply to comment #10) > Note http://www.w3.org/WAI/PF/aria-implementation/ currently suggests mapping > to ROLE_SYSTEM_SPINBUTTON. I think AT will have to deal. > > Pete, Alexander, do you agree with closing this as WONTFIX? David, I wonder how much this is correct? I think we should know what screen readers expect.
OK I have confirmation from a major vendor that what we do now is working. I think any previous assumption (comment #0) about what widgets a spin button contains must be broken in the world of ARIA, but at the same time I think we should continue exposing as ROLE_SYSTEM_SPINBUTTON. This is an AT side bug. Cc'in Jamie. Please reopen if we need to triage NVDA with this test: http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/form/test_Spinner.html