diff options
author | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-17 17:13:22 +0000 |
---|---|---|
committer | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-17 17:13:22 +0000 |
commit | ffebd7dd1ab0ac6a6869d43fac6951e7b6255f16 (patch) | |
tree | bcde99c48dfa8600327f2dc7a78cedf95e6bce76 | |
parent | 575b29d064d027440f68771d5b6a61ecb4c3c6ba (diff) | |
download | chromium_src-ffebd7dd1ab0ac6a6869d43fac6951e7b6255f16.zip chromium_src-ffebd7dd1ab0ac6a6869d43fac6951e7b6255f16.tar.gz chromium_src-ffebd7dd1ab0ac6a6869d43fac6951e7b6255f16.tar.bz2 |
Always return a subrole when the Mac accessibility role is AXList.
We already had tests for <ul>, <ol>, and <dl>, but not for
<div role="list">, but it seems simplest to just always return a subrole
of AXContentList by default and AXDescriptionList only for <dl>, since
VoiceOver gets confused if it isn't one of those two.
BUG=373498
Review URL: https://codereview.chromium.org/284113002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271239 0039d316-1c4b-4281-b951-d872f2087c98
6 files changed, 29 insertions, 4 deletions
diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm index 61e9008..232e482 100644 --- a/content/browser/accessibility/browser_accessibility_cocoa.mm +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm @@ -847,11 +847,10 @@ NSDictionary* attributeToMethodNameMap = nil; browserAccessibility_, ui::AX_ATTR_HTML_TAG); if (browserAccessibilityRole == ui::AX_ROLE_LIST) { - if ([htmlTag isEqualToString:@"ul"] || - [htmlTag isEqualToString:@"ol"]) { - return @"AXContentList"; - } else if ([htmlTag isEqualToString:@"dl"]) { + if ([htmlTag isEqualToString:@"dl"]) { return @"AXDescriptionList"; + } else { + return @"AXContentList"; } } diff --git a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc index 20cf865..d54d0e6 100644 --- a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc +++ b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc @@ -297,6 +297,10 @@ IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAriaLevel) { RunTest(FILE_PATH_LITERAL("aria-level.html")); } +IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAriaList) { + RunTest(FILE_PATH_LITERAL("aria-list.html")); +} + IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityAriaMenu) { RunTest(FILE_PATH_LITERAL("aria-menu.html")); } diff --git a/content/test/data/accessibility/aria-list-expected-android.txt b/content/test/data/accessibility/aria-list-expected-android.txt new file mode 100644 index 0000000..e929435 --- /dev/null +++ b/content/test/data/accessibility/aria-list-expected-android.txt @@ -0,0 +1 @@ +#<skip -- need to validate/generate> diff --git a/content/test/data/accessibility/aria-list-expected-mac.txt b/content/test/data/accessibility/aria-list-expected-mac.txt new file mode 100644 index 0000000..8ae9e03 --- /dev/null +++ b/content/test/data/accessibility/aria-list-expected-mac.txt @@ -0,0 +1,8 @@ +AXWebArea + AXList AXSubrole=AXContentList + AXGroup + AXStaticText AXValue='Item 1' + AXGroup + AXStaticText AXValue='Item 2' + AXGroup + AXStaticText AXValue='Item 3' diff --git a/content/test/data/accessibility/aria-list-expected-win.txt b/content/test/data/accessibility/aria-list-expected-win.txt new file mode 100644 index 0000000..e929435 --- /dev/null +++ b/content/test/data/accessibility/aria-list-expected-win.txt @@ -0,0 +1 @@ +#<skip -- need to validate/generate> diff --git a/content/test/data/accessibility/aria-list.html b/content/test/data/accessibility/aria-list.html new file mode 100644 index 0000000..2e69bee --- /dev/null +++ b/content/test/data/accessibility/aria-list.html @@ -0,0 +1,12 @@ +<!-- +@MAC-ALLOW:AXSubrole* +--> +<html> +<body> +<div role="list"> + <div role="listitem">Item 1</div> + <div role="listitem">Item 2</div> + <div role="listitem">Item 3</div> +</div> +</body> +</html> |