The default bug view has changed. See this FAQ.

mapping of aria role spinbutton to MSAA

RESOLVED WORKSFORME

Status

()

Core
Disability Access APIs
--
minor
RESOLVED WORKSFORME
10 years ago
8 years ago

People

(Reporter: Pete Brunet, Assigned: davidb)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

10 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
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.

Comment 1

10 years ago
(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).
Status: UNCONFIRMED → NEW
Ever confirmed: true
(Reporter)

Comment 2

10 years ago
Alexander, There currently is no IA2 role of SPINBOX but I could add it if you want it for FF3.

Updated

10 years ago
Blocks: 343213, 376943
Severity: normal → minor

Comment 3

10 years ago
Surkov, getting our text support, events and stability correct are more important. Let's do all of that first.

Comment 4

10 years ago
See also bug 365893 for XUL and bug 390298 for ARIA spinners in ATK.

Comment 5

10 years ago
Created attachment 282012 [details] [diff] [review]
patch

correct msaa role mapping
Attachment #282012 - Flags: review?(aaronleventhal)

Comment 6

10 years ago
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 7

10 years ago
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.
Attachment #282012 - Flags: review?(aaronleventhal) → review-

Comment 8

10 years ago
(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.

Comment 9

10 years ago
> 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?
(Assignee)

Comment 10

8 years ago
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?
Assignee: aaronleventhal → david.bolter

Comment 11

8 years ago
(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.
(Assignee)

Comment 12

8 years ago
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
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.