Changeset 51195 in webkit
- Timestamp:
- Nov 19, 2009 11:28:24 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r51191 r51195 1 2009-11-19 Chris Fleizach <cfleizach@apple.com> 2 3 Reviewed by Darin Adler. 4 5 WAI-ARIA roles not supported on image map <area> 6 https://bugs.webkit.org/show_bug.cgi?id=31525 7 8 * accessibility/aria-used-on-image-maps-expected.txt: Added. 9 * accessibility/aria-used-on-image-maps.html: Added. 10 * platform/gtk/Skipped: 11 * platform/win/Skipped: 12 1 13 2009-11-19 Eric Carlson <eric.carlson@apple.com> 2 14 -
trunk/LayoutTests/platform/gtk/Skipped
r51191 r51195 55 55 accessibility/aria-readonly.html 56 56 accessibility/aria-tab-roles.html 57 accessibility/aria-used-on-image-maps.html 57 58 accessibility/button-press-action.html 58 59 accessibility/canvas.html -
trunk/LayoutTests/platform/win/Skipped
r51191 r51195 375 375 accessibility/aria-tables.html 376 376 accessibility/aria-tab-roles.html 377 accessibility/aria-used-on-image-maps.html 377 378 accessibility/button-press-action.html 378 379 accessibility/canvas.html -
trunk/WebCore/accessibility/AccessibilityImageMapLink.cpp
r50444 r51195 67 67 68 68 return m_mapElement->document()->axObjectCache()->getOrCreate(m_mapElement->renderer()); 69 } 70 71 AccessibilityRole AccessibilityImageMapLink::roleValue() const 72 { 73 if (!m_areaElement) 74 return WebCoreLinkRole; 75 76 const AtomicString& ariaRole = m_areaElement->getAttribute(roleAttr); 77 if (!ariaRole.isEmpty()) 78 return AccessibilityObject::ariaRoleToWebCoreRole(ariaRole); 79 80 return WebCoreLinkRole; 69 81 } 70 82 -
trunk/WebCore/accessibility/AccessibilityImageMapLink.h
r50353 r51195 48 48 void setParent(AccessibilityObject* parent) { m_parent = parent; } 49 49 50 virtual AccessibilityRole roleValue() const { return WebCoreLinkRole; }50 virtual AccessibilityRole roleValue() const; 51 51 virtual bool accessibilityIsIgnored() const { return false; } 52 52 virtual bool isEnabled() const { return true; } -
trunk/WebCore/accessibility/AccessibilityObject.cpp
r50865 r51195 841 841 // A tie goes to horizontal. 842 842 return AccessibilityOrientationHorizontal; 843 } 844 845 typedef HashMap<String, AccessibilityRole, CaseFoldingHash> ARIARoleMap; 846 847 struct RoleEntry { 848 String ariaRole; 849 AccessibilityRole webcoreRole; 850 }; 851 852 static ARIARoleMap* createARIARoleMap() 853 { 854 const RoleEntry roles[] = { 855 { "alert", ApplicationAlertRole }, 856 { "alertdialog", ApplicationAlertDialogRole }, 857 { "application", LandmarkApplicationRole }, 858 { "article", DocumentArticleRole }, 859 { "banner", LandmarkBannerRole }, 860 { "button", ButtonRole }, 861 { "checkbox", CheckBoxRole }, 862 { "complementary", LandmarkComplementaryRole }, 863 { "contentinfo", LandmarkContentInfoRole }, 864 { "dialog", ApplicationDialogRole }, 865 { "directory", DirectoryRole }, 866 { "grid", TableRole }, 867 { "gridcell", CellRole }, 868 { "columnheader", ColumnHeaderRole }, 869 { "combobox", ComboBoxRole }, 870 { "definition", DefinitionListDefinitionRole }, 871 { "document", DocumentRole }, 872 { "rowheader", RowHeaderRole }, 873 { "group", GroupRole }, 874 { "heading", HeadingRole }, 875 { "img", ImageRole }, 876 { "link", WebCoreLinkRole }, 877 { "list", ListRole }, 878 { "listitem", GroupRole }, 879 { "listbox", ListBoxRole }, 880 { "log", ApplicationLogRole }, 881 // "option" isn't here because it may map to different roles depending on the parent element's role 882 { "main", LandmarkMainRole }, 883 { "marquee", ApplicationMarqueeRole }, 884 { "menu", MenuRole }, 885 { "menubar", GroupRole }, 886 // "menuitem" isn't here because it may map to different roles depending on the parent element's role 887 { "menuitemcheckbox", MenuItemRole }, 888 { "menuitemradio", MenuItemRole }, 889 { "note", DocumentNoteRole }, 890 { "navigation", LandmarkNavigationRole }, 891 { "option", ListBoxOptionRole }, 892 { "presentation", IgnoredRole }, 893 { "progressbar", ProgressIndicatorRole }, 894 { "radio", RadioButtonRole }, 895 { "radiogroup", RadioGroupRole }, 896 { "region", DocumentRegionRole }, 897 { "row", RowRole }, 898 { "range", SliderRole }, 899 { "search", LandmarkSearchRole }, 900 { "separator", SplitterRole }, 901 { "slider", SliderRole }, 902 { "spinbutton", ProgressIndicatorRole }, 903 { "status", ApplicationStatusRole }, 904 { "tab", TabRole }, 905 { "tablist", TabListRole }, 906 { "tabpanel", TabPanelRole }, 907 { "textbox", TextAreaRole }, 908 { "timer", ApplicationTimerRole }, 909 { "toolbar", ToolbarRole }, 910 { "tooltip", UserInterfaceTooltipRole }, 911 { "tree", TreeRole }, 912 { "treeitem", TreeItemRole } 913 }; 914 ARIARoleMap* roleMap = new ARIARoleMap; 915 916 const unsigned numRoles = sizeof(roles) / sizeof(roles[0]); 917 for (unsigned i = 0; i < numRoles; ++i) 918 roleMap->set(roles[i].ariaRole, roles[i].webcoreRole); 919 return roleMap; 920 } 921 922 AccessibilityRole AccessibilityObject::ariaRoleToWebCoreRole(const String& value) 923 { 924 ASSERT(!value.isEmpty()); 925 static const ARIARoleMap* roleMap = createARIARoleMap(); 926 return roleMap->get(value); 843 927 } 844 928 -
trunk/WebCore/accessibility/AccessibilityObject.h
r51007 r51195 418 418 virtual void handleActiveDescendantChanged() { } 419 419 420 static AccessibilityRole ariaRoleToWebCoreRole(const String&); 421 420 422 virtual VisiblePositionRange visiblePositionRange() const { return VisiblePositionRange(); } 421 423 virtual VisiblePositionRange visiblePositionRangeForLine(unsigned) const { return VisiblePositionRange(); } -
trunk/WebCore/accessibility/AccessibilityRenderObject.cpp
r51055 r51195 2436 2436 return 0; 2437 2437 } 2438 2439 typedef HashMap<String, AccessibilityRole, CaseFoldingHash> ARIARoleMap;2440 2441 struct RoleEntry {2442 String ariaRole;2443 AccessibilityRole webcoreRole;2444 };2445 2446 static const ARIARoleMap& createARIARoleMap()2447 {2448 const RoleEntry roles[] = {2449 { "alert", ApplicationAlertRole },2450 { "alertdialog", ApplicationAlertDialogRole },2451 { "application", LandmarkApplicationRole },2452 { "article", DocumentArticleRole },2453 { "banner", LandmarkBannerRole },2454 { "button", ButtonRole },2455 { "checkbox", CheckBoxRole },2456 { "complementary", LandmarkComplementaryRole },2457 { "contentinfo", LandmarkContentInfoRole },2458 { "dialog", ApplicationDialogRole },2459 { "directory", DirectoryRole },2460 { "grid", TableRole },2461 { "gridcell", CellRole },2462 { "columnheader", ColumnHeaderRole },2463 { "combobox", ComboBoxRole },2464 { "definition", DefinitionListDefinitionRole },2465 { "document", DocumentRole },2466 { "rowheader", RowHeaderRole },2467 { "group", GroupRole },2468 { "heading", HeadingRole },2469 { "img", ImageRole },2470 { "link", WebCoreLinkRole },2471 { "list", ListRole },2472 { "listitem", GroupRole },2473 { "listbox", ListBoxRole },2474 { "log", ApplicationLogRole },2475 // "option" isn't here because it may map to different roles depending on the parent element's role2476 { "main", LandmarkMainRole },2477 { "marquee", ApplicationMarqueeRole },2478 { "menu", MenuRole },2479 { "menubar", GroupRole },2480 // "menuitem" isn't here because it may map to different roles depending on the parent element's role2481 { "menuitemcheckbox", MenuItemRole },2482 { "menuitemradio", MenuItemRole },2483 { "note", DocumentNoteRole },2484 { "navigation", LandmarkNavigationRole },2485 { "option", ListBoxOptionRole },2486 { "presentation", IgnoredRole },2487 { "progressbar", ProgressIndicatorRole },2488 { "radio", RadioButtonRole },2489 { "radiogroup", RadioGroupRole },2490 { "region", DocumentRegionRole },2491 { "row", RowRole },2492 { "range", SliderRole },2493 { "search", LandmarkSearchRole },2494 { "separator", SplitterRole },2495 { "slider", SliderRole },2496 { "spinbutton", ProgressIndicatorRole },2497 { "status", ApplicationStatusRole },2498 { "tab", TabRole },2499 { "tablist", TabListRole },2500 { "tabpanel", TabPanelRole },2501 { "textbox", TextAreaRole },2502 { "timer", ApplicationTimerRole },2503 { "toolbar", ToolbarRole },2504 { "tooltip", UserInterfaceTooltipRole },2505 { "tree", TreeRole },2506 { "treeitem", TreeItemRole }2507 };2508 ARIARoleMap& roleMap = *new ARIARoleMap;2509 2510 const unsigned numRoles = sizeof(roles) / sizeof(roles[0]);2511 for (unsigned i = 0; i < numRoles; ++i)2512 roleMap.set(roles[i].ariaRole, roles[i].webcoreRole);2513 return roleMap;2514 }2515 2516 static AccessibilityRole ariaRoleToWebCoreRole(String value)2517 {2518 ASSERT(!value.isEmpty() && !value.isNull());2519 static const ARIARoleMap& roleMap = createARIARoleMap();2520 return roleMap.get(value);2521 }2522 2438 2523 2439 AccessibilityRole AccessibilityRenderObject::determineAriaRoleAttribute() const
Note: See TracChangeset
for help on using the changeset viewer.