WebKit Bugzilla
Attachment 362808 Details for
Bug 164051
: AX: WebKit is incorrectly mapping the <meter> element to progressbar
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
patch (text/plain), 11.82 KB, created by
chris fleizach
on 2019-02-22 17:56:58 PST
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
chris fleizach
Created:
2019-02-22 17:56:58 PST
Size:
11.82 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 241975) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,31 @@ >+2019-02-22 chris fleizach <cfleizach@apple.com> >+ >+ AX: WebKit is incorrectly mapping the <meter> element to progressbar >+ https://bugs.webkit.org/show_bug.cgi?id=164051 >+ <rdar://problem/29055615> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add a specific role for meter and map that to the appropriate mac role. >+ >+ * accessibility/AccessibilityNodeObject.cpp: >+ (WebCore::AccessibilityNodeObject::canHaveChildren const): >+ (WebCore::AccessibilityNodeObject::isProgressIndicator const): >+ * accessibility/AccessibilityObject.cpp: >+ (WebCore::AccessibilityObject::accessibleNameDerivesFromContent const): >+ (WebCore::AccessibilityObject::isRangeControl const): >+ (WebCore::AccessibilityObject::computedRoleString const): >+ * accessibility/AccessibilityObjectInterface.h: >+ * accessibility/AccessibilityProgressIndicator.cpp: >+ (WebCore::AccessibilityProgressIndicator::roleValue const): >+ * accessibility/AccessibilityProgressIndicator.h: >+ * accessibility/AccessibilityRenderObject.cpp: >+ (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant const): >+ * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: >+ (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]): >+ * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: >+ (createAccessibilityRoleMap): >+ > 2019-02-22 Andy Estes <aestes@apple.com> > > [iOS] Break a reference cycle between PreviewLoader and ResourceLoader >Index: Source/WebCore/accessibility/AccessibilityNodeObject.cpp >=================================================================== >--- Source/WebCore/accessibility/AccessibilityNodeObject.cpp (revision 241967) >+++ Source/WebCore/accessibility/AccessibilityNodeObject.cpp (working copy) >@@ -380,6 +380,7 @@ > case AccessibilityRole::MenuItemCheckbox: > case AccessibilityRole::MenuItemRadio: > case AccessibilityRole::Splitter: >+ case AccessibilityRole::Meter: > return false; > case AccessibilityRole::DocumentMath: > #if ENABLE(MATHML) >@@ -560,7 +561,7 @@ > > bool AccessibilityNodeObject::isProgressIndicator() const > { >- return roleValue() == AccessibilityRole::ProgressIndicator; >+ return roleValue() == AccessibilityRole::ProgressIndicator || roleValue() == AccessibilityRole::Meter; > } > > bool AccessibilityNodeObject::isSlider() const >Index: Source/WebCore/accessibility/AccessibilityObject.cpp >=================================================================== >--- Source/WebCore/accessibility/AccessibilityObject.cpp (revision 241967) >+++ Source/WebCore/accessibility/AccessibilityObject.cpp (working copy) >@@ -334,6 +334,7 @@ > case AccessibilityRole::Menu: > case AccessibilityRole::MenuBar: > case AccessibilityRole::ProgressIndicator: >+ case AccessibilityRole::Meter: > case AccessibilityRole::RadioGroup: > case AccessibilityRole::ScrollBar: > case AccessibilityRole::Slider: >@@ -947,6 +948,7 @@ > bool AccessibilityObject::isRangeControl() const > { > switch (roleValue()) { >+ case AccessibilityRole::Meter: > case AccessibilityRole::ProgressIndicator: > case AccessibilityRole::Slider: > case AccessibilityRole::ScrollBar: >@@ -2505,6 +2507,9 @@ > if (role == AccessibilityRole::HorizontalRule) > return reverseAriaRoleMap().get(static_cast<int>(AccessibilityRole::Splitter)); > >+ if (role == AccessibilityRole::Meter) >+ return reverseAriaRoleMap().get(static_cast<int>(AccessibilityRole::ProgressIndicator)); >+ > if (role == AccessibilityRole::PopUpButton || role == AccessibilityRole::ToggleButton) > return reverseAriaRoleMap().get(static_cast<int>(AccessibilityRole::Button)); > >Index: Source/WebCore/accessibility/AccessibilityObjectInterface.h >=================================================================== >--- Source/WebCore/accessibility/AccessibilityObjectInterface.h (revision 241967) >+++ Source/WebCore/accessibility/AccessibilityObjectInterface.h (working copy) >@@ -138,6 +138,7 @@ > MenuItemRadio, > MenuListPopup, > MenuListOption, >+ Meter, > Outline, > Paragraph, > PopUpButton, >Index: Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp >=================================================================== >--- Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp (revision 241967) >+++ Source/WebCore/accessibility/AccessibilityProgressIndicator.cpp (working copy) >@@ -151,6 +151,13 @@ > > return 0.0; > } >+ >+AccessibilityRole AccessibilityProgressIndicator::roleValue() const >+{ >+ if (meterElement()) >+ return AccessibilityRole::Meter; >+ return AccessibilityRole::ProgressIndicator; >+} > > HTMLProgressElement* AccessibilityProgressIndicator::progressElement() const > { >Index: Source/WebCore/accessibility/AccessibilityProgressIndicator.h >=================================================================== >--- Source/WebCore/accessibility/AccessibilityProgressIndicator.h (revision 241967) >+++ Source/WebCore/accessibility/AccessibilityProgressIndicator.h (working copy) >@@ -42,7 +42,7 @@ > Element* element() const override; > > private: >- AccessibilityRole roleValue() const override { return AccessibilityRole::ProgressIndicator; } >+ AccessibilityRole roleValue() const override; > > bool isProgressIndicator() const override { return true; } > >Index: Source/WebCore/accessibility/AccessibilityRenderObject.cpp >=================================================================== >--- Source/WebCore/accessibility/AccessibilityRenderObject.cpp (revision 241967) >+++ Source/WebCore/accessibility/AccessibilityRenderObject.cpp (working copy) >@@ -2432,6 +2432,7 @@ > case AccessibilityRole::RadioGroup: > case AccessibilityRole::Row: > case AccessibilityRole::PopUpButton: >+ case AccessibilityRole::Meter: > case AccessibilityRole::ProgressIndicator: > case AccessibilityRole::Toolbar: > case AccessibilityRole::Outline: >Index: Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm >=================================================================== >--- Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (revision 241967) >+++ Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (working copy) >@@ -865,6 +865,7 @@ > case AccessibilityRole::Image: > case AccessibilityRole::ImageMapLink: > case AccessibilityRole::ProgressIndicator: >+ case AccessibilityRole::Meter: > case AccessibilityRole::MenuItem: > case AccessibilityRole::MenuItemCheckbox: > case AccessibilityRole::MenuItemRadio: >Index: Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm >=================================================================== >--- Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (revision 241967) >+++ Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (working copy) >@@ -1887,6 +1887,7 @@ > { AccessibilityRole::Toolbar, NSAccessibilityToolbarRole }, > { AccessibilityRole::BusyIndicator, NSAccessibilityBusyIndicatorRole }, > { AccessibilityRole::ProgressIndicator, NSAccessibilityProgressIndicatorRole }, >+ { AccessibilityRole::Meter, NSAccessibilityLevelIndicatorRole }, > { AccessibilityRole::Window, NSAccessibilityWindowRole }, > { AccessibilityRole::Drawer, NSAccessibilityDrawerRole }, > { AccessibilityRole::SystemWide, NSAccessibilitySystemWideRole }, >Index: LayoutTests/ChangeLog >=================================================================== >--- LayoutTests/ChangeLog (revision 241967) >+++ LayoutTests/ChangeLog (working copy) >@@ -1,3 +1,15 @@ >+2019-02-22 chris fleizach <cfleizach@apple.com> >+ >+ AX: WebKit is incorrectly mapping the <meter> element to progressbar >+ https://bugs.webkit.org/show_bug.cgi?id=164051 >+ <rdar://problem/29055615> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * platform/mac-wk2/accessibility/roles-exposed-expected.txt: >+ * platform/mac/accessibility/meter-element-expected.txt: >+ * platform/mac/accessibility/roles-exposed-expected.txt: >+ > 2019-02-22 Wenson Hsieh <wenson_hsieh@apple.com> > > Input type "formatSetInlineTextDirection" is dispatched when changing paragraph-level text direction >Index: LayoutTests/platform/mac/accessibility/meter-element-expected.txt >=================================================================== >--- LayoutTests/platform/mac/accessibility/meter-element-expected.txt (revision 241967) >+++ LayoutTests/platform/mac/accessibility/meter-element-expected.txt (working copy) >@@ -4,7 +4,7 @@ > > > Meter1 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 6 blocks used (out of 8 total) >@@ -12,7 +12,7 @@ > > > Meter2 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 75% >@@ -20,7 +20,7 @@ > > > Meter3 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: >@@ -28,7 +28,7 @@ > > > Meter4 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 12cm >@@ -36,7 +36,7 @@ > > > Meter5 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 2cm >@@ -44,7 +44,7 @@ > > > Meter6 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 12cm >@@ -52,7 +52,7 @@ > > > Meter7 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 2cm >@@ -60,7 +60,7 @@ > > > Meter8 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 75 out of 100 >@@ -68,7 +68,7 @@ > > > Meter9 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 75 percent >@@ -76,7 +76,7 @@ > > > Meter10 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 75 percent >@@ -84,7 +84,7 @@ > > > Meter11 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 75 (100 total) >@@ -92,7 +92,7 @@ > > > Meter12 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 75 (out of 100 total) >@@ -100,7 +100,7 @@ > > > Meter13 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 75 (out of 100 total) >@@ -108,7 +108,7 @@ > > > Meter14 >-AXRole: AXProgressIndicator >+AXRole: AXLevelIndicator > AXTitle: > AXDescription: > AXValueDescription: 7 of 10 >Index: LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt >=================================================================== >--- LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt (revision 241967) >+++ LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt (working copy) >@@ -530,9 +530,9 @@ > AXRoleDescription: group > > meter >- AXRole: AXProgressIndicator >+ AXRole: AXLevelIndicator > AXSubrole: AXMeter >- AXRoleDescription: progress indicator >+ AXRoleDescription: level indicator > > nav > AXRole: AXGroup >Index: LayoutTests/platform/mac-wk2/accessibility/roles-exposed-expected.txt >=================================================================== >--- LayoutTests/platform/mac-wk2/accessibility/roles-exposed-expected.txt (revision 241967) >+++ LayoutTests/platform/mac-wk2/accessibility/roles-exposed-expected.txt (working copy) >@@ -530,9 +530,9 @@ > AXRoleDescription: group > > meter >- AXRole: AXProgressIndicator >+ AXRole: AXLevelIndicator > AXSubrole: AXMeter >- AXRoleDescription: progress indicator >+ AXRoleDescription: level indicator > > nav > AXRole: AXGroup
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 164051
: 362808