diff options
author | shreeram.k <shreeram.k@samsung.com> | 2014-12-16 17:28:56 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-17 01:29:21 +0000 |
commit | 634dc714772518f79dd0ea145bd0433072ec74b5 (patch) | |
tree | 7880e180c49e3f81e38d08dac7bb00b971aeb30f /content | |
parent | 9d0bb838506b780d434dc7423db9b20875edb9fe (diff) | |
download | chromium_src-634dc714772518f79dd0ea145bd0433072ec74b5.zip chromium_src-634dc714772518f79dd0ea145bd0433072ec74b5.tar.gz chromium_src-634dc714772518f79dd0ea145bd0433072ec74b5.tar.bz2 |
ARIA state/property aria-autocomplete should expose IA2_STATE_SUPPORTS_AUTOCOMPLETION.
According to specs http://rawgit.com/w3c/aria/master/core-aam/core-aam.html
aria-autocomplete {"inline", "list","both"} set IA2_STATE_SUPPORTS_AUTOCOMPLETION.
aria-autocomplete {"none"} Not Mapped
Also, expose object attribute autocomplete: <value>.
This CL depends on https://codereview.chromium.org/779513007/
BUG=169559, 169563
Review URL: https://codereview.chromium.org/785943002
Cr-Commit-Position: refs/heads/master@{#308714}
Diffstat (limited to 'content')
5 files changed, 25 insertions, 14 deletions
diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc index f51c842..b269a07 100644 --- a/content/browser/accessibility/browser_accessibility_win.cc +++ b/content/browser/accessibility/browser_accessibility_win.cc @@ -2909,6 +2909,9 @@ void BrowserAccessibilityWin::OnDataChanged() { InitRoleAndState(); + // Expose autocomplete attribute for combobox and textbox. + StringAttributeToIA2(ui::AX_ATTR_AUTO_COMPLETE, "autocomplete"); + // Expose the "display" and "tag" attributes. StringAttributeToIA2(ui::AX_ATTR_DISPLAY, "display"); StringAttributeToIA2(ui::AX_ATTR_TEXT_INPUT_TYPE, "text-input-type"); @@ -3380,6 +3383,9 @@ void BrowserAccessibilityWin::InitRoleAndState() { if (GetBoolAttribute(ui::AX_ATTR_CAN_SET_VALUE)) ia2_state_ |= IA2_STATE_EDITABLE; + if (!GetStringAttribute(ui::AX_ATTR_AUTO_COMPLETE).empty()) + ia2_state_ |= IA2_STATE_SUPPORTS_AUTOCOMPLETION; + base::string16 html_tag = GetString16Attribute( ui::AX_ATTR_HTML_TAG); ia_role_ = 0; diff --git a/content/renderer/accessibility/blink_ax_tree_source.cc b/content/renderer/accessibility/blink_ax_tree_source.cc index b3abfac..7866d9a 100644 --- a/content/renderer/accessibility/blink_ax_tree_source.cc +++ b/content/renderer/accessibility/blink_ax_tree_source.cc @@ -267,6 +267,9 @@ void BlinkAXTreeSource::SerializeNode(blink::WebAXObject src, } if (src.actionVerb().length()) dst->AddStringAttribute(ui::AX_ATTR_ACTION, UTF16ToUTF8(src.actionVerb())); + if (src.ariaAutoComplete().length()) + dst->AddStringAttribute(ui::AX_ATTR_AUTO_COMPLETE, + UTF16ToUTF8(src.ariaAutoComplete())); if (src.isAriaReadOnly()) dst->AddBoolAttribute(ui::AX_ATTR_ARIA_READONLY, true); if (src.isButtonStateMixed()) diff --git a/content/test/data/accessibility/aria-autocomplete-expected-android.txt b/content/test/data/accessibility/aria-autocomplete-expected-android.txt index 0ab359b..13a5ed3 100644 --- a/content/test/data/accessibility/aria-autocomplete-expected-android.txt +++ b/content/test/data/accessibility/aria-autocomplete-expected-android.txt @@ -1,4 +1,5 @@ android.webkit.WebView focusable focused scrollable - android.view.View clickable name='autocomplete=inline' - android.view.View clickable name='autocomplete=list' - android.view.View clickable name='autocomplete=both' + android.widget.Spinner clickable name='autocomplete=inline' + android.widget.Spinner clickable name='autocomplete=list' + android.widget.Spinner clickable name='autocomplete=both' + android.widget.Spinner clickable name='autocomplete=none' diff --git a/content/test/data/accessibility/aria-autocomplete-expected-win.txt b/content/test/data/accessibility/aria-autocomplete-expected-win.txt index 9bb5b43..b9d8af3 100644 --- a/content/test/data/accessibility/aria-autocomplete-expected-win.txt +++ b/content/test/data/accessibility/aria-autocomplete-expected-win.txt @@ -1,9 +1,9 @@ -#<skip - IA2_STATE_SUPPORTS_AUTOCOMPLETION not set. http://crbug.com/169559 - - autocomplete:<value> attribute not set. http://crbug.com/169563 > ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE - IA2_ROLE_SECTION autocomplete:inline IA2_STATE_SUPPORTS_AUTOCOMPLETION - ROLE_SYSTEM_TEXT name='autocomplete=inline' READONLY - IA2_ROLE_SECTION autocomplete:list IA2_STATE_SUPPORTS_AUTOCOMPLETION - ROLE_SYSTEM_TEXT name='autocomplete=list' READONLY - IA2_ROLE_SECTION autocomplete:both IA2_STATE_SUPPORTS_AUTOCOMPLETION - ROLE_SYSTEM_TEXT name='autocomplete=both' READONLY + ROLE_SYSTEM_COMBOBOX IA2_STATE_SUPPORTS_AUTOCOMPLETION autocomplete:inline + ROLE_SYSTEM_STATICTEXT name='autocomplete=inline' + ROLE_SYSTEM_COMBOBOX IA2_STATE_SUPPORTS_AUTOCOMPLETION autocomplete:list + ROLE_SYSTEM_STATICTEXT name='autocomplete=list' + ROLE_SYSTEM_COMBOBOX IA2_STATE_SUPPORTS_AUTOCOMPLETION autocomplete:both + ROLE_SYSTEM_STATICTEXT name='autocomplete=both' + ROLE_SYSTEM_COMBOBOX + ROLE_SYSTEM_STATICTEXT name='autocomplete=none' diff --git a/content/test/data/accessibility/aria-autocomplete.html b/content/test/data/accessibility/aria-autocomplete.html index f29c191..e95a19b 100644 --- a/content/test/data/accessibility/aria-autocomplete.html +++ b/content/test/data/accessibility/aria-autocomplete.html @@ -4,8 +4,9 @@ --> <html> <body> - <div aria-autocomplete="inline">autocomplete=inline</div> - <div aria-autocomplete="list">autocomplete=list</div> - <div aria-autocomplete="both">autocomplete=both</div> + <div role="combobox" aria-autocomplete="inline">autocomplete=inline</div> + <div role="combobox" aria-autocomplete="list">autocomplete=list</div> + <div role="combobox"aria-autocomplete="both">autocomplete=both</div> + <div role="combobox" aria-autocomplete="none">autocomplete=none</div> </body> </html> |