RESOLVED FIXED 106756
AX: Need to implement ColorWellRole
https://bugs.webkit.org/show_bug.cgi?id=106756
Summary AX: Need to implement ColorWellRole
Dominic Mazzoni
Reported 2013-01-13 22:40:44 PST
Chromium implements <input type="color"> using a native Mac color well, so it's important to support this role.
Attachments
Patch (5.59 KB, patch)
2013-01-13 22:43 PST, Dominic Mazzoni
no flags
Patch (16.31 KB, patch)
2013-01-14 10:31 PST, Dominic Mazzoni
no flags
Dominic Mazzoni
Comment 1 2013-01-13 22:43:43 PST
chris fleizach
Comment 2 2013-01-13 22:53:45 PST
Comment on attachment 182509 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=182509&action=review the AXValue for a color well should return something like AXValue rgb 0.76448 1 0.280308 1, so VO can speak the color > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:2466 > + const AtomicString& type = input->getAttribute(typeAttr); What case will this not be handled by the same code in AXNodeObject?
Dominic Mazzoni
Comment 3 2013-01-14 10:31:48 PST
Dominic Mazzoni
Comment 4 2013-01-14 10:33:19 PST
(In reply to comment #2) > (From update of attachment 182509 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=182509&action=review > > the AXValue for a color well should return something like > > AXValue rgb 0.76448 1 0.280308 1, so VO can speak the color OK. I implemented the Mac version but the code won't be used until Safari has color well support. I implemented something similar in Chromium DRT. > > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:2466 > > + const AtomicString& type = input->getAttribute(typeAttr); > > What case will this not be handled by the same code in AXNodeObject? Right now, AccessibilityRenderObject::determineAccessibilityRole doesn't call the inherited method. We need to refactor it some more to remove more duplication.
WebKit Review Bot
Comment 5 2013-01-14 10:35:13 PST
Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.
chris fleizach
Comment 6 2013-01-14 11:00:57 PST
(In reply to comment #4) > (In reply to comment #2) > > (From update of attachment 182509 [details] [details]) > > View in context: https://bugs.webkit.org/attachment.cgi?id=182509&action=review > > > > the AXValue for a color well should return something like > > > > AXValue rgb 0.76448 1 0.280308 1, so VO can speak the color > > OK. I implemented the Mac version but the code won't be used until Safari has color well support. I implemented something similar in Chromium DRT. > > > > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:2466 > > > + const AtomicString& type = input->getAttribute(typeAttr); > > > > What case will this not be handled by the same code in AXNodeObject? > > Right now, AccessibilityRenderObject::determineAccessibilityRole doesn't call the inherited method. We need to refactor it some more to remove more duplication. Is there a need to duplicate this logic in AXNodeObject currently then?
Dominic Mazzoni
Comment 7 2013-01-14 13:36:01 PST
(In reply to comment #6) > Is there a need to duplicate this logic in AXNodeObject currently then? I think there are now two relatively obscure places in the code where AXNodeObject is used without AXRenderObject: 1. In canvas fallback content 2. In a subtree with display:none but aria-hidden=false These are admittedly rare, but I still think it's right to implement this code in AXNodeObject and try to refactor it over time to put most of the logic there and use AXRenderObject only where the information we get from the render tree differs.
WebKit Review Bot
Comment 8 2013-01-14 14:22:26 PST
Comment on attachment 182599 [details] Patch Clearing flags on attachment: 182599 Committed r139663: <http://trac.webkit.org/changeset/139663>
WebKit Review Bot
Comment 9 2013-01-14 14:22:31 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.