/* * Copyright (C) 2011 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. */ module WTR { interface AccessibilityUIElement { boolean isEqual(in AccessibilityUIElement otherElement); // Element access. AccessibilityUIElement elementAtPoint(in int x, in int y); AccessibilityUIElement childAtIndex(in unsigned long index); unsigned long indexOfChild(in AccessibilityUIElement child); AccessibilityUIElement linkedUIElementAtIndex(in unsigned long index); AccessibilityUIElement selectedChildAtIndex(in unsigned long index); void setSelectedChild(in AccessibilityUIElement element); AccessibilityUIElement titleUIElement(); AccessibilityUIElement parentElement(); readonly attribute DOMString role; readonly attribute DOMString subrole; readonly attribute DOMString roleDescription; readonly attribute DOMString title; readonly attribute DOMString description; readonly attribute DOMString language; readonly attribute DOMString helpText; readonly attribute DOMString valueDescription; readonly attribute DOMString url; readonly attribute DOMString speak; readonly attribute DOMString orientation; readonly attribute int insertionPointLineNumber; readonly attribute DOMString selectedTextRange; DOMString stringAttributeValue(in DOMString attr); double numberAttributeValue(in DOMString attr); AccessibilityUIElement uiElementAttributeValue(in DOMString attr); boolean boolAttributeValue(in DOMString attr); boolean isAttributeSupported(in DOMString attr); boolean isAttributeSettable(in DOMString attr); boolean isActionSupported(in DOMString attr); readonly attribute DOMString stringValue; readonly attribute int intValue; readonly attribute int minValue; readonly attribute int maxValue; readonly attribute boolean isEnabled; readonly attribute boolean isRequired; readonly attribute boolean isFocused; readonly attribute boolean isFocusable; readonly attribute boolean isSelected; readonly attribute boolean isMultiSelectable; readonly attribute boolean isExpanded; readonly attribute boolean isChecked; readonly attribute boolean isVisible; readonly attribute boolean isCollapsed; readonly attribute boolean hasPopup; readonly attribute boolean isIgnored; readonly attribute boolean isOffScreen; readonly attribute boolean isValid; readonly attribute int hierarchicalLevel; readonly attribute boolean ariaIsGrabbed; readonly attribute DOMString ariaDropEffects; readonly attribute int x; readonly attribute int y; readonly attribute int width; readonly attribute int height; readonly attribute int clickPointX; readonly attribute int clickPointY; readonly attribute int childrenCount; readonly attribute int selectedChildrenCount; readonly attribute int rowCount; readonly attribute int columnCount; // Actions. void increment(); void decrement(); void press(); void showMenu(); // Attribute info. DOMString allAttributes(); DOMString attributesOfChildren(); DOMString attributesOfLinkedUIElements(); DOMString attributesOfDocumentLinks(); // Table info. DOMString attributesOfColumnHeaders(); DOMString attributesOfRowHeaders(); DOMString attributesOfColumns(); DOMString attributesOfRows(); DOMString attributesOfVisibleCells(); DOMString attributesOfHeader(); AccessibilityUIElement cellForColumnAndRow(in unsigned long column, in unsigned long row); AccessibilityUIElement selectedRowAtIndex(in unsigned long index); AccessibilityUIElement disclosedByRow(); AccessibilityUIElement disclosedRowAtIndex(in unsigned long index); AccessibilityUIElement rowAtIndex(in unsigned long index); int indexInTable(); DOMString rowIndexRange(); DOMString columnIndexRange(); int rowCount(); int columnCount(); AccessibilityUIElement ariaOwnsElementAtIndex(in unsigned long index); AccessibilityUIElement ariaFlowToElementAtIndex(in unsigned long index); // Paramaterized attributes. DOMString parameterizedAttributeNames(); int lineForIndex(in int index); DOMString rangeForLine(in int index); DOMString rangeForPosition(in int x, in int y); DOMString boundsForRange(in unsigned long location, in unsigned long length); DOMString stringForRange(in unsigned long location, in unsigned long length); DOMString attributedStringForRange(in unsigned long location, in unsigned long length); boolean attributedStringRangeIsMisspelled(in unsigned long location, in unsigned long length); AccessibilityUIElement uiElementForSearchPredicate(in AccessibilityUIElement startElement, in boolean isDirectionNext, in DOMString searchKey, in DOMString searchText); void setSelectedTextRange(in unsigned long location, in unsigned long length); // Scroll area attributes. readonly attribute AccessibilityUIElement horizontalScrollbar; readonly attribute AccessibilityUIElement verticalScrollbar; // Text markers. AccessibilityTextMarkerRange textMarkerRangeForElement(in AccessibilityUIElement element); AccessibilityTextMarkerRange textMarkerRangeForMarkers(in AccessibilityTextMarker startMarker, in AccessibilityTextMarker endMarker); AccessibilityTextMarker startTextMarkerForTextMarkerRange(in AccessibilityTextMarkerRange range); AccessibilityTextMarker endTextMarkerForTextMarkerRange(in AccessibilityTextMarkerRange range); AccessibilityTextMarker textMarkerForPoint(in int x, in int y); AccessibilityTextMarker previousTextMarker(in AccessibilityTextMarker marker); AccessibilityTextMarker nextTextMarker(in AccessibilityTextMarker marker); AccessibilityUIElement accessibilityElementForTextMarker(in AccessibilityTextMarker marker); DOMString stringForTextMarkerRange(in AccessibilityTextMarkerRange range); int textMarkerRangeLength(in AccessibilityTextMarkerRange range); boolean attributedStringForTextMarkerRangeContainsAttribute(in DOMString attr, in AccessibilityTextMarkerRange range); int indexForTextMarker(in AccessibilityTextMarker marker); boolean isTextMarkerValid(in AccessibilityTextMarker marker); AccessibilityTextMarker textMarkerForIndex(in int textIndex); // Notification support. boolean addNotificationListener(in object callbackFunction); boolean removeNotificationListener(); }; }