Index: Source/modules/accessibility/AXNodeObject.cpp |
diff --git a/Source/modules/accessibility/AXNodeObject.cpp b/Source/modules/accessibility/AXNodeObject.cpp |
index a5438ac4ada964ee02f7734e009ef76f7e326b59..382ed2b5ce321c12fb8f13d33d7725f26f347225 100644 |
--- a/Source/modules/accessibility/AXNodeObject.cpp |
+++ b/Source/modules/accessibility/AXNodeObject.cpp |
@@ -1265,6 +1265,32 @@ InvalidState AXNodeObject::invalidState() const |
return InvalidStateUndefined; |
} |
+int AXNodeObject::posInSet() const |
+{ |
+ if (supportsSetSizeAndPosInSet()) { |
+ if (hasAttribute(aria_posinsetAttr)) |
+ return getAttribute(aria_posinsetAttr).toInt(); |
+ return AXObject::indexInParent() + 1; |
+ } |
+ |
+ return 0; |
+} |
+ |
+int AXNodeObject::setSize() const |
+{ |
+ if (supportsSetSizeAndPosInSet()) { |
+ if (hasAttribute(aria_setsizeAttr)) |
+ return getAttribute(aria_setsizeAttr).toInt(); |
+ |
+ if (parentObject()) { |
+ const auto& siblings = parentObject()->children(); |
+ return siblings.size(); |
+ } |
+ } |
+ |
+ return 0; |
+} |
+ |
String AXNodeObject::ariaInvalidValue() const |
{ |
if (invalidState() == InvalidStateOther) |