// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Accessibility Object Model node
// Explainer: https://github.com/WICG/aom/blob/gh-pages/explainer.md
// Spec: https://wicg.github.io/aom/spec/
[
Exposed=Window,
RuntimeEnabled=AccessibilityObjectModel
] interface AccessibleNode : EventTarget {
[CallWith=Document] constructor();
attribute AccessibleNode? activeDescendant;
attribute boolean? atomic;
attribute DOMString? autocomplete;
attribute boolean? busy;
attribute DOMString? checked;
attribute long? colCount;
attribute unsigned long? colIndex;
[RuntimeEnabled=AriaRowColIndexText] attribute DOMString? colIndexText;
attribute unsigned long? colSpan;
attribute AccessibleNodeList? controls;
attribute DOMString? current;
attribute AccessibleNodeList? describedBy;
attribute AccessibleNodeList? details;
attribute boolean? disabled;
attribute AccessibleNodeList? errorMessage;
attribute boolean? expanded;
attribute AccessibleNodeList? flowTo;
attribute DOMString? hasPopup;
attribute boolean? hidden;
attribute DOMString? invalid;
attribute DOMString? keyShortcuts;
attribute DOMString? label;
attribute AccessibleNodeList? labeledBy;
attribute unsigned long? level;
attribute DOMString? live;
attribute boolean? modal;
attribute boolean? multiline;
attribute boolean? multiselectable;
attribute DOMString? orientation;
attribute AccessibleNodeList? owns;
attribute DOMString? placeholder;
attribute unsigned long? posInSet;
attribute DOMString? pressed;
attribute boolean? readOnly;
attribute DOMString? relevant;
attribute boolean? required;
attribute DOMString? role;
attribute DOMString? roleDescription;
attribute long? rowCount;
attribute unsigned long? rowIndex;
[RuntimeEnabled=AriaRowColIndexText] attribute DOMString? rowIndexText;
attribute unsigned long? rowSpan;
attribute boolean? selected;
attribute long? setSize;
attribute DOMString? sort;
attribute double? valueMax;
attribute double? valueMin;
attribute double? valueNow;
attribute DOMString? valueText;
attribute EventHandler onaccessibleclick;
attribute EventHandler onaccessiblecontextmenu;
attribute EventHandler onaccessibledecrement;
attribute EventHandler onaccessiblefocus;
attribute EventHandler onaccessibleincrement;
attribute EventHandler onaccessiblescrollintoview;
readonly attribute AccessibleNodeList childNodes;
[RaisesException] void appendChild(AccessibleNode child);
[RaisesException] void removeChild(AccessibleNode child);
};