Commit e85a773c authored by shreeram.k's avatar shreeram.k Committed by Commit bot

HTML Meter tag should have MSAA+IA2 as ROLE_SYSTEM_PROGRESSBAR.

According to latest editor's draft http://rawgit.com/w3c/html-api-map/master/index.html
meter tag should have MSAA+IA2 Role as ROLE_SYSTEM_PROGRESSBAR.
And for mac, the AX Mappings should be copy of ARIA role progressbar.

This CL depends on https://codereview.chromium.org/652663003/

This CL also takes care of small fixes related with details tag and div tag.

BUG=421376

Review URL: https://codereview.chromium.org/657513002

Cr-Commit-Position: refs/heads/master@{#299944}
parent ed5178fe
...@@ -127,6 +127,7 @@ ...@@ -127,6 +127,7 @@
menuListOption, menuListOption,
menuListPopup, menuListPopup,
menu, menu,
meter,
navigation, navigation,
note, note,
outline, outline,
......
...@@ -243,6 +243,7 @@ const char* BrowserAccessibilityAndroid::GetClassName() const { ...@@ -243,6 +243,7 @@ const char* BrowserAccessibilityAndroid::GetClassName() const {
case ui::AX_ROLE_SVG_ROOT: case ui::AX_ROLE_SVG_ROOT:
class_name = "android.widget.Image"; class_name = "android.widget.Image";
break; break;
case ui::AX_ROLE_METER:
case ui::AX_ROLE_PROGRESS_INDICATOR: case ui::AX_ROLE_PROGRESS_INDICATOR:
class_name = "android.widget.ProgressBar"; class_name = "android.widget.ProgressBar";
break; break;
......
...@@ -3460,6 +3460,7 @@ void BrowserAccessibilityWin::InitRoleAndState() { ...@@ -3460,6 +3460,7 @@ void BrowserAccessibilityWin::InitRoleAndState() {
break; break;
case ui::AX_ROLE_DIV: case ui::AX_ROLE_DIV:
role_name_ = L"div"; role_name_ = L"div";
ia_role_ = ROLE_SYSTEM_GROUPING;
ia2_role_ = IA2_ROLE_SECTION; ia2_role_ = IA2_ROLE_SECTION;
break; break;
case ui::AX_ROLE_DEFINITION: case ui::AX_ROLE_DEFINITION:
...@@ -3482,6 +3483,7 @@ void BrowserAccessibilityWin::InitRoleAndState() { ...@@ -3482,6 +3483,7 @@ void BrowserAccessibilityWin::InitRoleAndState() {
ia_state_ |= STATE_SYSTEM_READONLY; ia_state_ |= STATE_SYSTEM_READONLY;
break; break;
case ui::AX_ROLE_DETAILS: case ui::AX_ROLE_DETAILS:
role_name_ = html_tag;
ia_role_ = ROLE_SYSTEM_GROUPING; ia_role_ = ROLE_SYSTEM_GROUPING;
break; break;
case ui::AX_ROLE_DIALOG: case ui::AX_ROLE_DIALOG:
...@@ -3645,6 +3647,10 @@ void BrowserAccessibilityWin::InitRoleAndState() { ...@@ -3645,6 +3647,10 @@ void BrowserAccessibilityWin::InitRoleAndState() {
ia_state_ |= STATE_SYSTEM_FOCUSED; ia_state_ |= STATE_SYSTEM_FOCUSED;
} }
break; break;
case ui::AX_ROLE_METER:
role_name_ = html_tag;
ia_role_ = ROLE_SYSTEM_PROGRESSBAR;
break;
case ui::AX_ROLE_NAVIGATION: case ui::AX_ROLE_NAVIGATION:
ia_role_ = ROLE_SYSTEM_GROUPING; ia_role_ = ROLE_SYSTEM_GROUPING;
ia2_role_ = IA2_ROLE_SECTION; ia2_role_ = IA2_ROLE_SECTION;
......
...@@ -226,6 +226,8 @@ ui::AXRole AXRoleFromBlink(blink::WebAXRole role) { ...@@ -226,6 +226,8 @@ ui::AXRole AXRoleFromBlink(blink::WebAXRole role) {
return ui::AX_ROLE_MENU_LIST_OPTION; return ui::AX_ROLE_MENU_LIST_OPTION;
case blink::WebAXRoleMenuListPopup: case blink::WebAXRoleMenuListPopup:
return ui::AX_ROLE_MENU_LIST_POPUP; return ui::AX_ROLE_MENU_LIST_POPUP;
case blink::WebAXRoleMeter:
return ui::AX_ROLE_METER;
case blink::WebAXRoleNavigation: case blink::WebAXRoleNavigation:
return ui::AX_ROLE_NAVIGATION; return ui::AX_ROLE_NAVIGATION;
case blink::WebAXRoleNone: case blink::WebAXRoleNone:
......
...@@ -162,6 +162,8 @@ std::string RoleToString(blink::WebAXRole role) ...@@ -162,6 +162,8 @@ std::string RoleToString(blink::WebAXRole role)
return result.append("MenuListPopup"); return result.append("MenuListPopup");
case blink::WebAXRoleMenu: case blink::WebAXRoleMenu:
return result.append("Menu"); return result.append("Menu");
case blink::WebAXRoleMeter:
return result.append("Meter");
case blink::WebAXRoleNavigation: case blink::WebAXRoleNavigation:
return result.append("Navigation"); return result.append("Navigation");
case blink::WebAXRoleNone: case blink::WebAXRoleNone:
......
#<skip -- Unskip this with chromium side changes> #<skip -- Unskip this with chromium side changes>
AXWebArea AXRoleDescription='HTML content' AXWebArea AXRoleDescription='HTML content'
AXGroup AXRoleDescription='group' AXProgressIndicator AXRoleDescription='progress indicator'
#<skip -- Unskip this with chromium side changes> #<skip -- Unskip this with chromium side changes>
ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE ROLE_SYSTEM_DOCUMENT READONLY FOCUSABLE
IA2_ROLE_SECTION READONLY IA2_ROLE_SECTION READONLY
ROLE_SYSTEM_PROGRESSBAR
...@@ -136,6 +136,7 @@ ...@@ -136,6 +136,7 @@
menu_list_option, menu_list_option,
menu_list_popup, menu_list_popup,
menu, menu,
meter,
navigation, navigation,
note, note,
outline, outline,
......
...@@ -87,6 +87,7 @@ RoleMap BuildRoleMap() { ...@@ -87,6 +87,7 @@ RoleMap BuildRoleMap() {
{ui::AX_ROLE_MENU_ITEM_RADIO, NSAccessibilityMenuItemRole}, {ui::AX_ROLE_MENU_ITEM_RADIO, NSAccessibilityMenuItemRole},
{ui::AX_ROLE_MENU_LIST_OPTION, NSAccessibilityMenuItemRole}, {ui::AX_ROLE_MENU_LIST_OPTION, NSAccessibilityMenuItemRole},
{ui::AX_ROLE_MENU_LIST_POPUP, NSAccessibilityUnknownRole}, {ui::AX_ROLE_MENU_LIST_POPUP, NSAccessibilityUnknownRole},
{ui::AX_ROLE_METER, NSAccessibilityProgressIndicatorRole},
{ui::AX_ROLE_NAVIGATION, NSAccessibilityGroupRole}, {ui::AX_ROLE_NAVIGATION, NSAccessibilityGroupRole},
{ui::AX_ROLE_NONE, NSAccessibilityGroupRole}, {ui::AX_ROLE_NONE, NSAccessibilityGroupRole},
{ui::AX_ROLE_NOTE, NSAccessibilityGroupRole}, {ui::AX_ROLE_NOTE, NSAccessibilityGroupRole},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment