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

Unified Diff: content/browser/accessibility/browser_accessibility.h

Issue 7745035: Add a big grab bag of missing web accessibility functionality... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/accessibility/browser_accessibility.h
===================================================================
--- content/browser/accessibility/browser_accessibility.h (revision 98956)
+++ content/browser/accessibility/browser_accessibility.h (working copy)
@@ -22,6 +22,10 @@
#endif
using webkit_glue::WebAccessibility;
+typedef std::map<WebAccessibility::BoolAttribute, bool> BoolAttrMap;
+typedef std::map<WebAccessibility::FloatAttribute, float> FloatAttrMap;
+typedef std::map<WebAccessibility::IntAttribute, int> IntAttrMap;
+typedef std::map<WebAccessibility::StringAttribute, string16> StringAttrMap;
////////////////////////////////////////////////////////////////////////////////
//
@@ -52,6 +56,12 @@
// have been reset with new values from the renderer process.
virtual void Initialize();
+ // Optionally send events triggered simply by the fact that this node
+ // has been created or modified (and has been attached to the tree).
+ // This can include "show" events, "text changed" events in live regions,
+ // or "alert" events.
+ virtual void SendNodeUpdateEvents() {}
+
// Initialize this object, reading attributes from |src|. Does not
// recurse into children of |src| and build the whole subtree.
void Initialize(BrowserAccessibilityManager* manager,
@@ -129,16 +139,22 @@
// Accessors
//
- const std::map<WebAccessibility::StringAttribute, string16>&
- string_attributes() const {
- return string_attributes_;
+ const BoolAttrMap& bool_attributes() const {
+ return bool_attributes_;
}
- const std::map<WebAccessibility::IntAttribute, int32>&
- int_attributes() const {
+ const FloatAttrMap& float_attributes() const {
+ return float_attributes_;
+ }
+
+ const IntAttrMap& int_attributes() const {
return int_attributes_;
}
+ const StringAttrMap& string_attributes() const {
+ return string_attributes_;
+ }
+
int32 child_id() const { return child_id_; }
const std::vector<BrowserAccessibility*>& children() const {
return children_;
@@ -156,6 +172,9 @@
const std::vector<int32>& cell_ids() const {
return cell_ids_;
}
+ const std::vector<int32>& unique_cell_ids() const {
+ return unique_cell_ids_;
+ }
gfx::Rect location() const { return location_; }
BrowserAccessibilityManager* manager() const { return manager_; }
const string16& name() const { return name_; }
@@ -173,15 +192,33 @@
BrowserAccessibilityWin* toBrowserAccessibilityWin();
#endif
+ // Retrieve the value of a bool attribute from the bool attribute
+ // map and returns true if found.
+ bool GetBoolAttribute(WebAccessibility::BoolAttribute attr, bool* value)
+ const;
+
+ // Retrieve the value of a float attribute from the float attribute
+ // map and returns true if found.
+ bool GetFloatAttribute(WebAccessibility::FloatAttribute attr, float* value)
+ const;
+
+ // Retrieve the value of an integer attribute from the integer attribute
+ // map and returns true if found.
+ bool GetIntAttribute(WebAccessibility::IntAttribute attribute, int* value)
+ const;
+
// Retrieve the value of a string attribute from the attribute map and
// returns true if found.
bool GetStringAttribute(WebAccessibility::StringAttribute attribute,
- string16* value);
+ string16* value) const;
- // Retrieve the value of an integer attribute from the integer attribute
- // map and returns true if found.
- bool GetIntAttribute(WebAccessibility::IntAttribute attribute, int* value);
+ // Retrieve the value of a html attribute from the attribute map and
+ // returns true if found.
+ bool GetHtmlAttribute(const char* attr, string16* value) const;
+ // Returns true if this node is an editable text field of any kind.
+ bool IsEditableText() const;
+
protected:
BrowserAccessibility();
@@ -210,8 +247,10 @@
// Accessibility metadata from the renderer
string16 name_;
string16 value_;
- std::map<WebAccessibility::StringAttribute, string16> string_attributes_;
- std::map<WebAccessibility::IntAttribute, int32> int_attributes_;
+ BoolAttrMap bool_attributes_;
+ IntAttrMap int_attributes_;
+ FloatAttrMap float_attributes_;
+ StringAttrMap string_attributes_;
std::vector<std::pair<string16, string16> > html_attributes_;
int32 role_;
int32 state_;
@@ -220,6 +259,7 @@
std::vector<int32> indirect_child_ids_;
std::vector<int32> line_breaks_;
std::vector<int32> cell_ids_;
+ std::vector<int32> unique_cell_ids_;
// BrowserAccessibility objects are reference-counted on some platforms.
// When we're done with this object and it's removed from our accessibility

Powered by Google App Engine
This is Rietveld 408576698