summaryrefslogtreecommitdiffstats
path: root/ui/accessibility
diff options
context:
space:
mode:
authordmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-10 19:28:56 +0000
committerdmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-10 19:28:56 +0000
commita98e3c6f5c50afbbd3d9d5f5e019860f6001d924 (patch)
treed0902144896f7d35b86d3e3da8e0e773504c64b0 /ui/accessibility
parent9b034f7b8da8decd9b99a1133f86917b58cffe7e (diff)
downloadchromium_src-a98e3c6f5c50afbbd3d9d5f5e019860f6001d924.zip
chromium_src-a98e3c6f5c50afbbd3d9d5f5e019860f6001d924.tar.gz
chromium_src-a98e3c6f5c50afbbd3d9d5f5e019860f6001d924.tar.bz2
Implement accessible states and notifications for the tab strip.
This change just exposes information about what tabs are selected and fires proper notifications when tab selection changes. This will allow screen readers to announce when switching tabs even if the web content doesn't have focus. It's also a good first step towards making the tab strip fully accessible too (e.g. making it possible to perform operations on multiple tabs with just the keyboard). As part of this change I renamed the "selection changed" event to "text selection changed" so that there's no confusion between the text-selection-related events, and tab/list selection events. BUG=100412 Review URL: https://codereview.chromium.org/349033010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282396 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/accessibility')
-rw-r--r--ui/accessibility/ax_enums.idl73
1 files changed, 43 insertions, 30 deletions
diff --git a/ui/accessibility/ax_enums.idl b/ui/accessibility/ax_enums.idl
index adab1aa..2605c6a 100644
--- a/ui/accessibility/ax_enums.idl
+++ b/ui/accessibility/ax_enums.idl
@@ -7,42 +7,55 @@
[camel_case_enum_to_string=true] namespace ui {
// For new entries to the following three enums, also add to
- // chrome/common/extensions/apis/automation.idl.
+ // chrome/common/extensions/api/automation.idl.
+ //
+ // Explanation of the comments next to these events:
+ //
+ // Web: this event is only used in web content. Unless a specific platform
+ // is specified, it fires a native event on multiple platforms.
+ //
+ // Native: this event is only used in native UI.
+ //
+ // Implicit: it would be cleaner if we just updated the AX node
+ // and each platform fired the appropriate events to indicate which
+ // platform-specific attributes changed.
+ //
+ // If unspecified, the event is used across web and native on multiple
+ // platforms.
enum AXEvent {
- activedescendantchanged,
+ activedescendantchanged, // Web
alert,
- aria_attribute_changed,
- autocorrection_occured,
- blur,
- checked_state_changed,
+ aria_attribute_changed, // Implicit
+ autocorrection_occured, // Unknown: http://crbug.com/392498
+ blur, // Remove: http://crbug.com/392502
+ checked_state_changed, // Implicit
children_changed,
- destroyed,
focus,
- hide,
+ hide, // Remove: http://crbug.com/392502
hover,
- invalid_status_changed,
- layout_complete,
- live_region_changed,
- load_complete,
- location_changed,
- menu_end,
- menu_list_item_selected,
- menu_list_value_changed,
- menu_popup_end,
- menu_popup_start,
- menu_start,
- row_collapsed,
- row_count_changed,
- row_expanded,
- scroll_position_changed,
- scrolled_to_anchor,
- selected_children_changed,
- selected_text_changed,
- selection_changed,
- show,
+ invalid_status_changed, // Implicit
+ layout_complete, // Web
+ live_region_changed, // Web
+ load_complete, // Web
+ location_changed, // Web
+ menu_end, // Native / Win
+ menu_list_item_selected, // Web
+ menu_list_value_changed, // Web
+ menu_popup_end, // Native / Win
+ menu_popup_start, // Native / Win
+ menu_start, // Native / Win
+ row_collapsed, // Web / Mac
+ row_count_changed, // Web / Mac
+ row_expanded, // Web / Mac
+ scroll_position_changed, // Web
+ scrolled_to_anchor, // Web
+ selected_children_changed, // Web
+ selection, // Native
+ selection_add, // Native
+ selection_remove, // Native
+ show, // Remove: http://crbug.com/392502
text_changed,
- text_inserted,
- text_removed,
+ text_selection_changed,
value_changed
};