Changeset 155492 in webkit
- Timestamp:
- Sep 10, 2013 4:49:53 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r155475 r155492 1 2013-09-10 Chris Fleizach <cfleizach@apple.com> 2 3 AX: AXValue/AXMenuItemMarkChar not defined for menuitemradio (should be false (0) with aria-checked=mixed | undefined) 4 https://bugs.webkit.org/show_bug.cgi?id=120372 5 6 Reviewed by Mario Sanchez Prada. 7 8 * platform/mac/accessibility/menu-item-values-expected.txt: Added. 9 * platform/mac/accessibility/menu-item-values.html: Added. 10 1 11 2013-09-10 Marcelo Morais <m.morais@samsung.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r155491 r155492 1 2013-09-10 Chris Fleizach <cfleizach@apple.com> 2 3 AX: AXValue/AXMenuItemMarkChar not defined for menuitemradio (should be false (0) with aria-checked=mixed | undefined) 4 https://bugs.webkit.org/show_bug.cgi?id=120372 5 6 Reviewed by Mario Sanchez Prada. 7 8 Add new roles to make the distinction between menu item, menu item radio and menu item checkbox. 9 Expose AXValue for menu items, so that they can convey the, on/off/mixed state of aria-checked. 10 11 Test: platform/mac/accessibility/menu-item-values.html 12 13 * accessibility/AccessibilityNodeObject.cpp: 14 (WebCore::AccessibilityNodeObject::isMenuRelated): 15 (WebCore::AccessibilityNodeObject::isMenuItem): 16 (WebCore::AccessibilityNodeObject::isChecked): 17 (WebCore::AccessibilityNodeObject::actionElement): 18 (WebCore::AccessibilityNodeObject::visibleText): 19 (WebCore::AccessibilityNodeObject::title): 20 * accessibility/AccessibilityObject.cpp: 21 (WebCore::createARIARoleMap): 22 (WebCore::AccessibilityObject::checkboxOrRadioValue): 23 * accessibility/AccessibilityObject.h: 24 * accessibility/AccessibilityRenderObject.cpp: 25 (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored): 26 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: 27 (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]): 28 (-[WebAccessibilityObjectWrapper accessibilityTraits]): 29 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: 30 (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]): 31 (createAccessibilityRoleMap): 32 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): 33 1 34 2013-09-10 Anders Carlsson <andersca@apple.com> 2 35 … … 22 55 * Target.pri: 23 56 57 >>>>>>> .r155491 24 58 2013-09-10 Sergio Correia <sergio.correia@openbossa.org> 25 59 -
trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp
r155428 r155492 555 555 case MenuButtonRole: 556 556 case MenuItemRole: 557 case MenuItemCheckboxRole: 558 case MenuItemRadioRole: 557 559 return true; 558 560 default: … … 578 580 bool AccessibilityNodeObject::isMenuItem() const 579 581 { 580 return roleValue() == MenuItemRole; 582 switch (roleValue()) { 583 case MenuItemRole: 584 case MenuItemRadioRole: 585 case MenuItemCheckboxRole: 586 return true; 587 default: 588 return false; 589 } 581 590 } 582 591 … … 657 666 case CheckBoxRole: 658 667 case MenuItemRole: 668 case MenuItemCheckboxRole: 669 case MenuItemRadioRole: 659 670 validRole = true; 660 671 break; … … 960 971 case TabRole: 961 972 case MenuItemRole: 973 case MenuItemCheckboxRole: 974 case MenuItemRadioRole: 962 975 case ListItemRole: 963 976 return toElement(node); … … 1257 1270 case MenuButtonRole: 1258 1271 case MenuItemRole: 1272 case MenuItemCheckboxRole: 1273 case MenuItemRadioRole: 1259 1274 case RadioButtonRole: 1260 1275 case TabRole: … … 1621 1636 case MenuButtonRole: 1622 1637 case MenuItemRole: 1638 case MenuItemCheckboxRole: 1639 case MenuItemRadioRole: 1623 1640 case RadioButtonRole: 1624 1641 case TabRole: -
trunk/Source/WebCore/accessibility/AccessibilityObject.cpp
r155458 r155492 1456 1456 { "menubar", MenuBarRole }, 1457 1457 { "menuitem", MenuItemRole }, 1458 { "menuitemcheckbox", MenuItem Role },1459 { "menuitemradio", MenuItemR ole },1458 { "menuitemcheckbox", MenuItemCheckboxRole }, 1459 { "menuitemradio", MenuItemRadioRole }, 1460 1460 { "note", DocumentNoteRole }, 1461 1461 { "navigation", LandmarkNavigationRole }, … … 1694 1694 if (equalIgnoringCase(result, "true")) 1695 1695 return ButtonStateOn; 1696 if (equalIgnoringCase(result, "mixed")) 1696 if (equalIgnoringCase(result, "mixed")) { 1697 // ARIA says that radio and menuitemradio elements must NOT expose button state mixed. 1698 AccessibilityRole ariaRole = ariaRoleAttribute(); 1699 if (ariaRole == RadioButtonRole || ariaRole == MenuItemRadioRole) 1700 return ButtonStateOff; 1697 1701 return ButtonStateMixed; 1702 } 1698 1703 1699 1704 return ButtonStateOff; -
trunk/Source/WebCore/accessibility/AccessibilityObject.h
r155458 r155492 159 159 MenuButtonRole, 160 160 MenuItemRole, 161 MenuItemCheckboxRole, 162 MenuItemRadioRole, 161 163 MenuListPopupRole, 162 164 MenuListOptionRole, -
trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
r155428 r155492 1169 1169 // static text beneath MenuItems and MenuButtons are just reported along with the menu item, so it's ignored on an individual level 1170 1170 AccessibilityObject* parent = parentObjectUnignored(); 1171 if (parent && (parent-> ariaRoleAttribute() == MenuItemRole|| parent->ariaRoleAttribute() == MenuButtonRole))1171 if (parent && (parent->isMenuItem() || parent->ariaRoleAttribute() == MenuButtonRole)) 1172 1172 return true; 1173 1173 RenderText* renderText = toRenderText(m_renderer); -
trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
r154877 r155492 277 277 case MenuButtonRole: 278 278 case MenuItemRole: 279 case MenuItemCheckboxRole: 280 case MenuItemRadioRole: 279 281 case PopUpButtonRole: 280 282 case RadioButtonRole: … … 549 551 case MenuButtonRole: 550 552 case MenuItemRole: 553 case MenuItemCheckboxRole: 554 case MenuItemRadioRole: 551 555 traits |= [self _axMenuItemTrait]; 552 556 break; -
trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
r155458 r155492 1215 1215 [tempArray addObject:NSAccessibilityHelpAttribute]; 1216 1216 [tempArray addObject:NSAccessibilitySelectedAttribute]; 1217 [tempArray addObject:NSAccessibilityValueAttribute]; 1217 1218 [tempArray addObject:(NSString*)kAXMenuItemCmdCharAttribute]; 1218 1219 [tempArray addObject:(NSString*)kAXMenuItemCmdVirtualKeyAttribute]; … … 1644 1645 { MenuRole, NSAccessibilityMenuRole }, 1645 1646 { MenuItemRole, NSAccessibilityMenuItemRole }, 1647 { MenuItemCheckboxRole, NSAccessibilityMenuItemRole }, 1648 { MenuItemRadioRole, NSAccessibilityMenuItemRole }, 1646 1649 { ColumnRole, NSAccessibilityColumnRole }, 1647 1650 { RowRole, NSAccessibilityRowRole }, … … 2284 2287 return [NSNumber numberWithInt:m_object->headingLevel()]; 2285 2288 2286 if (m_object->isCheckboxOrRadio() ) {2289 if (m_object->isCheckboxOrRadio() || m_object->isMenuItem()) { 2287 2290 switch (m_object->checkboxOrRadioValue()) { 2288 2291 case ButtonStateOff:
Note: See TracChangeset
for help on using the changeset viewer.