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

Unified Diff: third_party/WebKit/Source/modules/accessibility/AXObject.h

Issue 2589273002: Add sparse accessibility attribute interface to Blink (Closed)
Patch Set: Address feedback Created 3 years, 11 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: third_party/WebKit/Source/modules/accessibility/AXObject.h
diff --git a/third_party/WebKit/Source/modules/accessibility/AXObject.h b/third_party/WebKit/Source/modules/accessibility/AXObject.h
index 1473866ab84843cae549d1f7ece5e11e0d64fcae..1961634ace6d3c0351dbb88a23804c8d88e5bd40 100644
--- a/third_party/WebKit/Source/modules/accessibility/AXObject.h
+++ b/third_party/WebKit/Source/modules/accessibility/AXObject.h
@@ -326,6 +326,28 @@ enum TextUnderElementMode {
// present
};
+enum class AXBoolAttribute {};
+
+enum class AXStringAttribute {};
+
+enum class AXObjectAttribute {
+ AriaActiveDescendant,
+};
+
+enum class AXObjectVectorAttribute {
+ AriaControls,
+ AriaFlowTo,
+};
+
+class AXSparseAttributeClient {
+ public:
+ virtual void addBoolAttribute(AXBoolAttribute, bool) = 0;
+ virtual void addStringAttribute(AXStringAttribute, const String&) = 0;
+ virtual void addObjectAttribute(AXObjectAttribute, AXObject&) = 0;
+ virtual void addObjectVectorAttribute(AXObjectVectorAttribute,
+ HeapVector<Member<AXObject>>&) = 0;
+};
+
// The source of the accessible name of an element. This is needed
// because on some platforms this determines how the accessible name
// is exposed.
@@ -572,6 +594,8 @@ class MODULES_EXPORT AXObject : public GarbageCollectedFinalized<AXObject> {
AXID axObjectID() const { return m_id; }
+ virtual void getSparseAXAttributes(AXSparseAttributeClient&) const {}
+
// Determine subclass type.
virtual bool isAXNodeObject() const { return false; }
virtual bool isAXLayoutObject() const { return false; }
@@ -826,8 +850,6 @@ class MODULES_EXPORT AXObject : public GarbageCollectedFinalized<AXObject> {
// ARIA attributes.
virtual AXObject* activeDescendant() { return nullptr; }
virtual String ariaAutoComplete() const { return String(); }
- virtual void ariaFlowToElements(AXObjectVector&) const {}
- virtual void ariaControlsElements(AXObjectVector&) const {}
virtual void ariaOwnsElements(AXObjectVector& owns) const {}
virtual void ariaDescribedbyElements(AXObjectVector&) const {}
virtual void ariaLabelledbyElements(AXObjectVector&) const {}

Powered by Google App Engine
This is Rietveld 408576698