Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: content/browser/accessibility/browser_accessibility_win.cc

Issue 616473002: Expose IA and IA2 role and state for HTML input type attributes related to date and time. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/accessibility/browser_accessibility_win.h" 5 #include "content/browser/accessibility/browser_accessibility_win.h"
6 6
7 #include <UIAutomationClient.h> 7 #include <UIAutomationClient.h>
8 #include <UIAutomationCoreApi.h> 8 #include <UIAutomationCoreApi.h>
9 9
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 3420 matching lines...) Expand 10 before | Expand all | Expand 10 after
3431 ia_role_ = ROLE_SYSTEM_COLUMN; 3431 ia_role_ = ROLE_SYSTEM_COLUMN;
3432 ia_state_ |= STATE_SYSTEM_READONLY; 3432 ia_state_ |= STATE_SYSTEM_READONLY;
3433 break; 3433 break;
3434 case ui::AX_ROLE_COLUMN_HEADER: 3434 case ui::AX_ROLE_COLUMN_HEADER:
3435 ia_role_ = ROLE_SYSTEM_COLUMNHEADER; 3435 ia_role_ = ROLE_SYSTEM_COLUMNHEADER;
3436 ia_state_ |= STATE_SYSTEM_READONLY; 3436 ia_state_ |= STATE_SYSTEM_READONLY;
3437 break; 3437 break;
3438 case ui::AX_ROLE_COMBO_BOX: 3438 case ui::AX_ROLE_COMBO_BOX:
3439 ia_role_ = ROLE_SYSTEM_COMBOBOX; 3439 ia_role_ = ROLE_SYSTEM_COMBOBOX;
3440 break; 3440 break;
3441 case ui::AX_ROLE_DATE:
3442 ia_role_ = ROLE_SYSTEM_DROPLIST;
3443 ia2_role_ = IA2_ROLE_DATE_EDITOR;
3444 break;
3445 case ui::AX_ROLE_DATE_TIME:
3446 ia_role_ = ROLE_SYSTEM_DROPLIST;
3447 ia2_role_ = IA2_ROLE_DATE_EDITOR;
3448 break;
3441 case ui::AX_ROLE_DIV: 3449 case ui::AX_ROLE_DIV:
3442 role_name_ = L"div"; 3450 role_name_ = L"div";
3443 ia2_role_ = IA2_ROLE_SECTION; 3451 ia2_role_ = IA2_ROLE_SECTION;
3444 break; 3452 break;
3445 case ui::AX_ROLE_DEFINITION: 3453 case ui::AX_ROLE_DEFINITION:
3446 role_name_ = html_tag; 3454 role_name_ = html_tag;
3447 ia2_role_ = IA2_ROLE_PARAGRAPH; 3455 ia2_role_ = IA2_ROLE_PARAGRAPH;
3448 ia_state_ |= STATE_SYSTEM_READONLY; 3456 ia_state_ |= STATE_SYSTEM_READONLY;
3449 break; 3457 break;
3450 case ui::AX_ROLE_DESCRIPTION_LIST_DETAIL: 3458 case ui::AX_ROLE_DESCRIPTION_LIST_DETAIL:
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
3731 ia2_state_ |= IA2_STATE_MULTI_LINE; 3739 ia2_state_ |= IA2_STATE_MULTI_LINE;
3732 ia2_state_ |= IA2_STATE_EDITABLE; 3740 ia2_state_ |= IA2_STATE_EDITABLE;
3733 ia2_state_ |= IA2_STATE_SELECTABLE_TEXT; 3741 ia2_state_ |= IA2_STATE_SELECTABLE_TEXT;
3734 break; 3742 break;
3735 case ui::AX_ROLE_TEXT_FIELD: 3743 case ui::AX_ROLE_TEXT_FIELD:
3736 ia_role_ = ROLE_SYSTEM_TEXT; 3744 ia_role_ = ROLE_SYSTEM_TEXT;
3737 ia2_state_ |= IA2_STATE_SINGLE_LINE; 3745 ia2_state_ |= IA2_STATE_SINGLE_LINE;
3738 ia2_state_ |= IA2_STATE_EDITABLE; 3746 ia2_state_ |= IA2_STATE_EDITABLE;
3739 ia2_state_ |= IA2_STATE_SELECTABLE_TEXT; 3747 ia2_state_ |= IA2_STATE_SELECTABLE_TEXT;
3740 break; 3748 break;
3749 case ui::AX_ROLE_TIME:
3750 ia_role_ = ROLE_SYSTEM_SPINBUTTON;
3751 break;
3741 case ui::AX_ROLE_TIMER: 3752 case ui::AX_ROLE_TIMER:
3742 ia_role_ = ROLE_SYSTEM_CLOCK; 3753 ia_role_ = ROLE_SYSTEM_CLOCK;
3743 ia_state_ |= STATE_SYSTEM_READONLY; 3754 ia_state_ |= STATE_SYSTEM_READONLY;
3744 break; 3755 break;
3745 case ui::AX_ROLE_TOOLBAR: 3756 case ui::AX_ROLE_TOOLBAR:
3746 ia_role_ = ROLE_SYSTEM_TOOLBAR; 3757 ia_role_ = ROLE_SYSTEM_TOOLBAR;
3747 ia_state_ |= STATE_SYSTEM_READONLY; 3758 ia_state_ |= STATE_SYSTEM_READONLY;
3748 break; 3759 break;
3749 case ui::AX_ROLE_TOOLTIP: 3760 case ui::AX_ROLE_TOOLTIP:
3750 ia_role_ = ROLE_SYSTEM_TOOLTIP; 3761 ia_role_ = ROLE_SYSTEM_TOOLTIP;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
3806 // The role should always be set. 3817 // The role should always be set.
3807 DCHECK(!role_name_.empty() || ia_role_); 3818 DCHECK(!role_name_.empty() || ia_role_);
3808 3819
3809 // If we didn't explicitly set the IAccessible2 role, make it the same 3820 // If we didn't explicitly set the IAccessible2 role, make it the same
3810 // as the MSAA role. 3821 // as the MSAA role.
3811 if (!ia2_role_) 3822 if (!ia2_role_)
3812 ia2_role_ = ia_role_; 3823 ia2_role_ = ia_role_;
3813 } 3824 }
3814 3825
3815 } // namespace content 3826 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698