The HTML5 input type=number element as implemented in webkit includes a spinbutton control which is mapped as AXRole: "AXIncrementor" AXSubrole: "(null)" AXRoleDescription: "stepper" The ARIA spinbutton role is currently mapped to { "spinbutton", ProgressIndicatorRole }, in webkit (source: AccessibilityObject.cpp: 1376) The WAI -ARIA implementation guide maps spinbutton to (source:http://www.w3.org/TR/wai-aria-implementation/#mapping_role_table) AXRole: "AXIncrementor" AXSubrole: "(null)" AXRoleDescription: "stepper" Recommend fixing implementation so it maps to the correct role.
I believe changing the current line http://trac.webkit.org/browser/trunk/Source/WebCore/accessibility/AccessibilityObject.cpp#L1402 from { "spinbutton", ProgressIndicatorRole }, to { "spinbutton", IncrementorRole }, would resolve the issue there may be some changes required in other files for other platforms as in Windows the appropriate mapping would likely be { "spinbutton", SpinButtonRole },
Examples of javascript widgets affected by this bug: in the Ext GWT library the simple form the spin button is identified using ARIA role=spinbutton , it is incorrectly exposed as progress indicator http://dev.sencha.com/playpen/gxt/aria2/test.html?id=focusmanager in the Dojo digit library http://archive.dojotoolkit.org/nightly/checkout/dijit/tests/form/test_Spinner.html
Created attachment 151258 [details] patch
Comment on attachment 151258 [details] patch Clearing flags on attachment: 151258 Committed r122372: <http://trac.webkit.org/changeset/122372>
All reviewed patches have been landed. Closing bug.