| /* |
| * 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. |
| */ |
| |
| [ |
| Conditional=ACCESSIBILITY, |
| ] interface AccessibilityUIElement { |
| boolean isEqual(AccessibilityUIElement otherElement); |
| |
| // Document information |
| readonly attribute DOMString documentEncoding; |
| readonly attribute DOMString documentURI; |
| |
| // Element access. |
| AccessibilityUIElement elementAtPoint(long x, long y); |
| AccessibilityUIElement childAtIndex(unsigned long index); |
| unsigned long indexOfChild(AccessibilityUIElement child); |
| AccessibilityUIElement linkedUIElementAtIndex(unsigned long index); |
| AccessibilityUIElement selectedChildAtIndex(unsigned long index); |
| void setSelectedChild(AccessibilityUIElement element); |
| void setSelectedChildAtIndex(unsigned long index); |
| void removeSelectionAtIndex(unsigned long index); |
| void clearSelectedChildren(); |
| AccessibilityUIElement titleUIElement(); |
| AccessibilityUIElement parentElement(); |
| |
| readonly attribute DOMString role; |
| readonly attribute DOMString subrole; |
| readonly attribute DOMString roleDescription; |
| readonly attribute DOMString computedRoleString; |
| 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 speakAs; |
| readonly attribute DOMString orientation; |
| readonly attribute long insertionPointLineNumber; |
| readonly attribute DOMString selectedTextRange; |
| |
| DOMString stringDescriptionOfAttributeValue(DOMString attr); |
| DOMString stringAttributeValue(DOMString attr); |
| double numberAttributeValue(DOMString attr); |
| object uiElementArrayAttributeValue(DOMString attr); |
| AccessibilityUIElement uiElementAttributeValue(DOMString attr); |
| boolean boolAttributeValue(DOMString attr); |
| void setBoolAttributeValue(DOMString attr, boolean value); |
| boolean isAttributeSupported(DOMString attr); |
| boolean isAttributeSettable(DOMString attr); |
| boolean isPressActionSupported(); |
| boolean isIncrementActionSupported(); |
| boolean isDecrementActionSupported(); |
| void setValue(DOMString value); |
| |
| readonly attribute DOMString stringValue; |
| readonly attribute long intValue; |
| readonly attribute long minValue; |
| readonly attribute long maxValue; |
| |
| readonly attribute boolean isEnabled; |
| readonly attribute boolean isRequired; |
| readonly attribute boolean isFocused; |
| readonly attribute boolean isFocusable; |
| readonly attribute boolean isSelectable; |
| readonly attribute boolean isSelected; |
| readonly attribute boolean isSelectedOptionActive; |
| readonly attribute boolean isMultiSelectable; |
| readonly attribute boolean isExpanded; |
| readonly attribute boolean isChecked; |
| readonly attribute boolean isIndeterminate; |
| readonly attribute boolean isVisible; |
| readonly attribute boolean isCollapsed; |
| readonly attribute boolean hasPopup; |
| readonly attribute DOMString popupValue; |
| readonly attribute boolean isIgnored; |
| readonly attribute boolean isSingleLine; |
| readonly attribute boolean isMultiLine; |
| readonly attribute boolean isOffScreen; |
| readonly attribute boolean isValid; |
| readonly attribute long hierarchicalLevel; |
| readonly attribute boolean ariaIsGrabbed; |
| readonly attribute DOMString ariaDropEffects; |
| readonly attribute DOMString classList; |
| |
| readonly attribute long x; |
| readonly attribute long y; |
| readonly attribute long width; |
| readonly attribute long height; |
| readonly attribute long clickPointX; |
| readonly attribute long clickPointY; |
| |
| readonly attribute long childrenCount; |
| readonly attribute long selectedChildrenCount; |
| readonly attribute long rowCount; |
| readonly attribute long columnCount; |
| |
| // Actions. |
| void increment(); |
| void decrement(); |
| void asyncIncrement(); |
| void asyncDecrement(); |
| void press(); |
| void syncPress(); |
| void showMenu(); |
| boolean dismiss(); |
| |
| // Attribute info. |
| DOMString allAttributes(); |
| DOMString attributesOfChildren(); |
| DOMString attributesOfLinkedUIElements(); |
| DOMString attributesOfDocumentLinks(); |
| |
| // Text info. |
| DOMString characterAtOffset(long offset); |
| DOMString wordAtOffset(long offset); |
| DOMString lineAtOffset(long offset); |
| DOMString sentenceAtOffset(long offset); |
| |
| // Table info. |
| DOMString attributesOfColumnHeaders(); |
| DOMString attributesOfRowHeaders(); |
| DOMString attributesOfColumns(); |
| DOMString attributesOfRows(); |
| DOMString attributesOfVisibleCells(); |
| DOMString attributesOfHeader(); |
| AccessibilityUIElement cellForColumnAndRow(unsigned long column, unsigned long row); |
| AccessibilityUIElement selectedRowAtIndex(unsigned long index); |
| AccessibilityUIElement disclosedByRow(); |
| AccessibilityUIElement disclosedRowAtIndex(unsigned long index); |
| AccessibilityUIElement rowAtIndex(unsigned long index); |
| boolean isInTableCell(); |
| long indexInTable(); |
| DOMString rowIndexRange(); |
| DOMString columnIndexRange(); |
| long rowCount(); |
| long columnCount(); |
| object columnHeaders(); |
| object rowHeaders(); |
| |
| AccessibilityUIElement ariaOwnsElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaOwnsReferencingElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaFlowToElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaFlowToReferencingElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaControlsElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaControlsReferencingElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaLabelledByElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaLabelledByReferencingElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaDescribedByElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaDescribedByReferencingElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaDetailsElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaDetailsReferencingElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaErrorMessageElementAtIndex(unsigned long index); |
| AccessibilityUIElement ariaErrorMessageReferencingElementAtIndex(unsigned long index); |
| |
| // Paramaterized attributes. |
| DOMString parameterizedAttributeNames(); |
| long lineForIndex(long index); |
| DOMString rangeForLine(long index); |
| DOMString rangeForPosition(long x, long y); |
| DOMString boundsForRange(unsigned long location, unsigned long length); |
| DOMString stringForRange(unsigned long location, unsigned long length); |
| DOMString attributedStringForRange(unsigned long location, unsigned long length); |
| DOMString attributedStringForElement(); |
| boolean attributedStringRangeIsMisspelled(unsigned long location, unsigned long length); |
| [PassContext] unsigned long uiElementCountForSearchPredicate(AccessibilityUIElement startElement, boolean isDirectionNext, object searchKey, DOMString searchText, boolean visibleOnly, boolean immediateDescendantsOnly); |
| [PassContext] AccessibilityUIElement uiElementForSearchPredicate(AccessibilityUIElement startElement, boolean isDirectionNext, object searchKey, DOMString searchText, boolean visibleOnly, boolean immediateDescendantsOnly); |
| [PassContext] DOMString selectTextWithCriteria(DOMString ambiguityResolution, object searchStrings, DOMString replacementString, DOMString activity); |
| [PassContext] object searchTextWithCriteria(object searchStrings, DOMString startFrom, DOMString direction); |
| boolean setSelectedTextRange(unsigned long location, unsigned long length); |
| |
| // Scroll area attributes. |
| readonly attribute AccessibilityUIElement horizontalScrollbar; |
| readonly attribute AccessibilityUIElement verticalScrollbar; |
| |
| void scrollToMakeVisible(); |
| void scrollToGlobalPoint(long x, long y); |
| void scrollToMakeVisibleWithSubFocus(long x, long y, long width, long height); |
| |
| void takeFocus(); |
| boolean scrollPageDown(); |
| boolean scrollPageUp(); |
| boolean scrollPageLeft(); |
| boolean scrollPageRight(); |
| |
| // Text markers. |
| AccessibilityTextMarkerRange lineTextMarkerRangeForTextMarker(AccessibilityTextMarker textMarker); |
| AccessibilityTextMarkerRange misspellingTextMarkerRange(AccessibilityTextMarkerRange start, boolean forward); |
| AccessibilityTextMarkerRange textMarkerRangeForElement(AccessibilityUIElement element); |
| AccessibilityTextMarkerRange textMarkerRangeForMarkers(AccessibilityTextMarker startMarker, AccessibilityTextMarker endMarker); |
| AccessibilityTextMarkerRange selectedTextMarkerRange(); |
| void resetSelectedTextMarkerRange(); |
| boolean replaceTextInRange(DOMString string, long position, long length); |
| boolean insertText(DOMString text); |
| AccessibilityTextMarker startTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange range); |
| AccessibilityTextMarker endTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange range); |
| AccessibilityTextMarker endTextMarkerForBounds(long x, long y, long width, long height); |
| AccessibilityTextMarker startTextMarkerForBounds(long x, long y, long width, long height); |
| AccessibilityTextMarker textMarkerForPoint(long x, long y); |
| AccessibilityTextMarker previousTextMarker(AccessibilityTextMarker marker); |
| AccessibilityTextMarker nextTextMarker(AccessibilityTextMarker marker); |
| AccessibilityUIElement accessibilityElementForTextMarker(AccessibilityTextMarker marker); |
| DOMString stringForTextMarkerRange(AccessibilityTextMarkerRange range); |
| DOMString attributedStringForTextMarkerRange(AccessibilityTextMarkerRange range); |
| DOMString attributedStringForTextMarkerRangeWithOptions(AccessibilityTextMarkerRange range, boolean includeSpellCheck); |
| long textMarkerRangeLength(AccessibilityTextMarkerRange range); |
| boolean attributedStringForTextMarkerRangeContainsAttribute(DOMString attr, AccessibilityTextMarkerRange range); |
| long indexForTextMarker(AccessibilityTextMarker marker); |
| boolean isTextMarkerValid(AccessibilityTextMarker marker); |
| AccessibilityTextMarker textMarkerForIndex(long textIndex); |
| readonly attribute AccessibilityTextMarker startTextMarker; |
| readonly attribute AccessibilityTextMarker endTextMarker; |
| boolean setSelectedVisibleTextRange(AccessibilityTextMarkerRange range); |
| AccessibilityTextMarkerRange leftWordTextMarkerRangeForTextMarker(AccessibilityTextMarker textMarker); |
| AccessibilityTextMarkerRange rightWordTextMarkerRangeForTextMarker(AccessibilityTextMarker textMarker); |
| AccessibilityTextMarker previousWordStartTextMarkerForTextMarker(AccessibilityTextMarker textMarker); |
| AccessibilityTextMarker nextWordEndTextMarkerForTextMarker(AccessibilityTextMarker textMarker); |
| AccessibilityTextMarkerRange paragraphTextMarkerRangeForTextMarker(AccessibilityTextMarker textMarker); |
| AccessibilityTextMarker previousParagraphStartTextMarkerForTextMarker(AccessibilityTextMarker textMarker); |
| AccessibilityTextMarker nextParagraphEndTextMarkerForTextMarker(AccessibilityTextMarker textMarker); |
| AccessibilityTextMarkerRange sentenceTextMarkerRangeForTextMarker(AccessibilityTextMarker textMarker); |
| AccessibilityTextMarker previousSentenceStartTextMarkerForTextMarker(AccessibilityTextMarker textMarker); |
| AccessibilityTextMarker nextSentenceEndTextMarkerForTextMarker(AccessibilityTextMarker textMarker); |
| AccessibilityTextMarkerRange textMarkerRangeMatchesTextNearMarkers(DOMString text, AccessibilityTextMarker startMarker, AccessibilityTextMarker endMarker); |
| |
| // Returns an ordered list of supported actions for an element. |
| readonly attribute DOMString supportedActions; |
| readonly attribute DOMString mathPostscriptsDescription; |
| readonly attribute DOMString mathPrescriptsDescription; |
| |
| readonly attribute DOMString pathDescription; |
| |
| // iOS specific accessibility methods. |
| readonly attribute DOMString identifier; |
| readonly attribute DOMString traits; |
| readonly attribute long elementTextPosition; |
| readonly attribute long elementTextLength; |
| readonly attribute DOMString stringForSelection; |
| object elementsForRange(unsigned long location, unsigned long length); |
| void increaseTextSelection(); |
| void decreaseTextSelection(); |
| AccessibilityUIElement linkedElement(); |
| AccessibilityUIElement headerElementAtIndex(unsigned long index); |
| // This will simulate the accessibilityDidBecomeFocused API in UIKit. |
| void assistiveTechnologySimulatedFocus(); |
| readonly attribute boolean isSearchField; |
| readonly attribute boolean isTextArea; |
| |
| // Fieldset |
| readonly attribute boolean hasContainedByFieldsetTrait; |
| AccessibilityUIElement fieldsetAncestorElement(); |
| |
| // Notification support. |
| boolean addNotificationListener(object callbackFunction); |
| boolean removeNotificationListener(); |
| }; |
| |