InspectorAuditAccessibilityObject.h [plain text]
#pragma once
#include "ExceptionOr.h"
#include <JavaScriptCore/InspectorAuditAgent.h>
#include <wtf/Forward.h>
#include <wtf/Optional.h>
#include <wtf/Ref.h>
#include <wtf/RefCounted.h>
namespace WebCore {
class Document;
class Node;
class InspectorAuditAccessibilityObject : public RefCounted<InspectorAuditAccessibilityObject> {
public:
static Ref<InspectorAuditAccessibilityObject> create(Inspector::InspectorAuditAgent& auditAgent)
{
return adoptRef(*new InspectorAuditAccessibilityObject(auditAgent));
}
ExceptionOr<Vector<Ref<Node>>> getElementsByComputedRole(Document&, const String& role, Node* container);
struct ComputedProperties {
Optional<bool> busy;
String checked;
String currentState;
Optional<bool> disabled;
Optional<bool> expanded;
Optional<bool> focused;
Optional<int> headingLevel;
Optional<bool> hidden;
Optional<int> hierarchicalLevel;
Optional<bool> ignored;
Optional<bool> ignoredByDefault;
String invalidStatus;
Optional<bool> isPopUpButton;
String label;
Optional<bool> liveRegionAtomic;
Optional<Vector<String>> liveRegionRelevant;
String liveRegionStatus;
Optional<bool> pressed;
Optional<bool> readonly;
Optional<bool> required;
String role;
Optional<bool> selected;
};
ExceptionOr<RefPtr<Node>> getActiveDescendant(Node&);
ExceptionOr<Optional<Vector<RefPtr<Node>>>> getChildNodes(Node&);
ExceptionOr<Optional<ComputedProperties>> getComputedProperties(Node&);
ExceptionOr<Optional<Vector<RefPtr<Node>>>> getControlledNodes(Node&);
ExceptionOr<Optional<Vector<RefPtr<Node>>>> getFlowedNodes(Node&);
ExceptionOr<RefPtr<Node>> getMouseEventNode(Node&);
ExceptionOr<Optional<Vector<RefPtr<Node>>>> getOwnedNodes(Node&);
ExceptionOr<RefPtr<Node>> getParentNode(Node&);
ExceptionOr<Optional<Vector<RefPtr<Node>>>> getSelectedChildNodes(Node&);
private:
explicit InspectorAuditAccessibilityObject(Inspector::InspectorAuditAgent&);
Inspector::InspectorAuditAgent& m_auditAgent;
};
}