| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef UI_ACCESSIBILITY_AX_VIEW_STATE_H_ | |
| 6 #define UI_ACCESSIBILITY_AX_VIEW_STATE_H_ | |
| 7 | |
| 8 #include "base/basictypes.h" | |
| 9 #include "base/callback.h" | |
| 10 #include "base/strings/string16.h" | |
| 11 #include "ui/accessibility/ax_enums.h" | |
| 12 #include "ui/accessibility/ax_export.h" | |
| 13 | |
| 14 namespace ui { | |
| 15 | |
| 16 //////////////////////////////////////////////////////////////////////////////// | |
| 17 // | |
| 18 // AXViewState | |
| 19 // | |
| 20 // A cross-platform struct for storing the core accessibility information | |
| 21 // that should be provided about any UI view to assistive technology (AT). | |
| 22 // | |
| 23 //////////////////////////////////////////////////////////////////////////////// | |
| 24 struct AX_EXPORT AXViewState { | |
| 25 public: | |
| 26 AXViewState(); | |
| 27 ~AXViewState(); | |
| 28 | |
| 29 // Set or check bits in |state_|. | |
| 30 void AddStateFlag(ui::AXState state); | |
| 31 bool HasStateFlag(ui::AXState state) const; | |
| 32 | |
| 33 // The view's state, a bitmask containing fields such as checked | |
| 34 // (for a checkbox) and protected (for a password text box). This "state" | |
| 35 // should not be confused with the class's name. | |
| 36 uint32 state() { return state_; } | |
| 37 | |
| 38 // The view's role, like button or list box. | |
| 39 AXRole role; | |
| 40 | |
| 41 // The view's name / label. | |
| 42 base::string16 name; | |
| 43 | |
| 44 // The view's value, for example the text content. | |
| 45 base::string16 value; | |
| 46 | |
| 47 // The name of the default action if the user clicks on this view. | |
| 48 base::string16 default_action; | |
| 49 | |
| 50 // The keyboard shortcut to activate this view, if any. | |
| 51 base::string16 keyboard_shortcut; | |
| 52 | |
| 53 // The selection start and end. Only applies to views with text content, | |
| 54 // such as a text box or combo box; start and end should be -1 otherwise. | |
| 55 int selection_start; | |
| 56 int selection_end; | |
| 57 | |
| 58 // The selected item's index and the count of the number of items. | |
| 59 // Only applies to views with multiple choices like a listbox; both | |
| 60 // index and count should be -1 otherwise. | |
| 61 int index; | |
| 62 int count; | |
| 63 | |
| 64 // An optional callback that can be used by accessibility clients to | |
| 65 // set the string value of this view. This only applies to roles where | |
| 66 // setting the value makes sense, like a text box. Not often used by | |
| 67 // screen readers, but often used by automation software to script | |
| 68 // things like logging into portals or filling forms. | |
| 69 // | |
| 70 // This callback is only valid for the lifetime of the view, and should | |
| 71 // be a safe no-op if the view is deleted. Typically, accessible views | |
| 72 // should use a WeakPtr when binding the callback. | |
| 73 base::Callback<void(const base::string16&)> set_value_callback; | |
| 74 | |
| 75 private: | |
| 76 uint32 state_; | |
| 77 }; | |
| 78 | |
| 79 } // namespace ui | |
| 80 | |
| 81 #endif // UI_ACCESSIBILITY_AX_VIEW_STATE_H_ | |
| OLD | NEW |