Summary: | Report AXValueChanged when value changes in element with role=textbox. | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Alice Boxhall <aboxhall> | ||||||||||||||
Component: | New Bugs | Assignee: | Alice Boxhall <aboxhall> | ||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||
Severity: | Normal | CC: | cfleizach, webkit.review.bot | ||||||||||||||
Priority: | P2 | ||||||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||
OS: | Unspecified | ||||||||||||||||
Attachments: |
|
Description
Alice Boxhall
2011-09-15 17:47:37 PDT
Created attachment 107573 [details]
Patch
Comment on attachment 107573 [details]
Patch
Oops, will remove the .pbxproj file shortly.
Comment on attachment 107573 [details]
Patch
i think using isTextControl() may cast a wider net then we want. won't it include native text controls tools? we should probably limit this to aria text controls, because the native controls are already handled
(In reply to comment #3) > (From update of attachment 107573 [details]) > i think using isTextControl() may cast a wider net then we want. won't it include native text controls tools? we should probably limit this to aria text controls, because the native controls are already handled Ah yes, you're right: I was confused because it checks for textbox AX roles, but they are set for native text boxes as well. Created attachment 107717 [details]
Patch
Comment on attachment 107717 [details]
Patch
Just noticed an error in this patch.
Created attachment 107718 [details]
Patch
Comment on attachment 107718 [details]
Patch
i would move isARIATextControl to AXObject.h so that you don't have to do toAccessibilityRenderObject
That's the direction the code has been moving so that we can abstract away more from AXRenderObject and only have to worry about AXObject
otherwise looks ok to me
Created attachment 107743 [details]
Patch
(In reply to comment #8) > (From update of attachment 107718 [details]) > i would move isARIATextControl to AXObject.h so that you don't have to do toAccessibilityRenderObject > That's the direction the code has been moving so that we can abstract away more from AXRenderObject and only have to worry about AXObject > otherwise looks ok to me Done. Comment on attachment 107743 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=107743&action=review r=me, after fix for the brackets > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:3371 > } no brackets needed for this one line else if Created attachment 107968 [details]
Patch
Comment on attachment 107743 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=107743&action=review >> Source/WebCore/accessibility/AccessibilityRenderObject.cpp:3371 >> } > > no brackets needed for this one line else if Actually, I ended up changing this a bit more significantly: removed the else, and the break above. My reasoning: - The method below doesn't break out of the loop when it posts the AXLiveRegionChanged notification, and it seems like the logic should be similar across the two methods (in fact, possibly the loop needs to be refactored out into a common method) - If there is both aria-live=true and role=textbox, both notifications are relevant Please note, I also modified the selection-value-changes-for-aria-textbox LayoutTest as part of this update; it was broken by this change before. Comment on attachment 107968 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=107968&action=review thanks. a few thoughts inline > LayoutTests/platform/mac/accessibility/selection-value-changes-for-aria-textbox.html:34 > } it seems like we should not be sending out two AXValueChange notifications for the same object (For the same value change). i suspect we might want to check that an object is only an aria text control and not a standard text control... > Source/WebCore/accessibility/AccessibilityRenderObject.cpp:3370 > } it looks like there's already a local instance of axObjectCache() (cache) that can be used here (and also in the live region block) Created attachment 108091 [details]
Patch
Comment on attachment 107968 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=107968&action=review >> LayoutTests/platform/mac/accessibility/selection-value-changes-for-aria-textbox.html:34 >> } > > it seems like we should not be sending out two AXValueChange notifications for the same object (For the same value change). > i suspect we might want to check that an object is only an aria text control and not a standard text control... That makes sense. This is what happens when I try to code the same day as getting off a transcontinental flight. >> Source/WebCore/accessibility/AccessibilityRenderObject.cpp:3370 >> } > > it looks like there's already a local instance of axObjectCache() (cache) that can be used here (and also in the live region block) Fixed. Comment on attachment 108091 [details]
Patch
looks ok. r=me
Comment on attachment 108091 [details] Patch Clearing flags on attachment: 108091 Committed r95641: <http://trac.webkit.org/changeset/95641> All reviewed patches have been landed. Closing bug. |