OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008, 2009, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008, 2009, 2011 Apple Inc. All rights reserved. |
3 * Copyright (C) 2008 Nuanti Ltd. | 3 * Copyright (C) 2008 Nuanti Ltd. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 // be called last. | 280 // be called last. |
281 void setAXObjectID(AXID axObjectID) { m_id = axObjectID; } | 281 void setAXObjectID(AXID axObjectID) { m_id = axObjectID; } |
282 virtual void init() { } | 282 virtual void init() { } |
283 | 283 |
284 // When the corresponding WebCore object that this AccessibilityObject | 284 // When the corresponding WebCore object that this AccessibilityObject |
285 // wraps is deleted, it must be detached. | 285 // wraps is deleted, it must be detached. |
286 virtual void detach(); | 286 virtual void detach(); |
287 virtual bool isDetached() const; | 287 virtual bool isDetached() const; |
288 | 288 |
289 // The AXObjectCache that owns this object, and its unique ID within this ca
che. | 289 // The AXObjectCache that owns this object, and its unique ID within this ca
che. |
290 virtual AXObjectCache* axObjectCache() const; | 290 AXObjectCache* axObjectCache() const; |
291 AXID axObjectID() const { return m_id; } | 291 AXID axObjectID() const { return m_id; } |
292 | 292 |
293 // Lays out the page so that the accessibility tree is based on up-to-date i
nformation. | 293 // Lays out the page so that the accessibility tree is based on up-to-date i
nformation. |
294 void updateBackingStore(); | 294 void updateBackingStore(); |
295 | 295 |
296 // Determine subclass type. | 296 // Determine subclass type. |
297 virtual bool isAccessibilityNodeObject() const { return false; } | 297 virtual bool isAccessibilityNodeObject() const { return false; } |
298 virtual bool isAccessibilityRenderObject() const { return false; } | 298 virtual bool isAccessibilityRenderObject() const { return false; } |
299 virtual bool isAccessibilityScrollbar() const { return false; } | 299 virtual bool isAccessibilityScrollbar() const { return false; } |
300 virtual bool isAccessibilityScrollView() const { return false; } | 300 virtual bool isAccessibilityScrollView() const { return false; } |
301 virtual bool isAccessibilitySVGRoot() const { return false; } | 301 virtual bool isAccessibilitySVGRoot() const { return false; } |
302 | 302 |
303 // Check object role or purpose. | 303 // Check object role or purpose. |
304 virtual AccessibilityRole roleValue() const { return m_role; } | 304 virtual AccessibilityRole roleValue() const { return m_role; } |
305 virtual bool isARIATextControl() const; | 305 bool isARIATextControl() const; |
306 virtual bool isARIATreeGridRow() const { return false; } | 306 virtual bool isARIATreeGridRow() const { return false; } |
307 virtual bool isAccessibilityTable() const { return false; } | 307 virtual bool isAccessibilityTable() const { return false; } |
308 virtual bool isAnchor() const { return false; } | 308 virtual bool isAnchor() const { return false; } |
309 virtual bool isAttachment() const { return false; } | 309 virtual bool isAttachment() const { return false; } |
310 virtual bool isBlockquote() const; | 310 bool isBlockquote() const; |
311 virtual bool isButton() const; | 311 bool isButton() const; |
312 virtual bool isCanvas() const { return roleValue() == CanvasRole; } | 312 bool isCanvas() const { return roleValue() == CanvasRole; } |
313 virtual bool isCheckbox() const { return roleValue() == CheckBoxRole; } | 313 bool isCheckbox() const { return roleValue() == CheckBoxRole; } |
314 virtual bool isCheckboxOrRadio() const { return isCheckbox() || isRadioButto
n(); } | 314 bool isCheckboxOrRadio() const { return isCheckbox() || isRadioButton(); } |
315 virtual bool isColorWell() const { return roleValue() == ColorWellRole; } | 315 bool isColorWell() const { return roleValue() == ColorWellRole; } |
316 virtual bool isComboBox() const { return roleValue() == ComboBoxRole; } | 316 bool isComboBox() const { return roleValue() == ComboBoxRole; } |
317 virtual bool isControl() const { return false; } | 317 virtual bool isControl() const { return false; } |
318 virtual bool isDataTable() const { return false; } | 318 virtual bool isDataTable() const { return false; } |
319 virtual bool isFieldset() const { return false; } | 319 virtual bool isFieldset() const { return false; } |
320 virtual bool isFileUploadButton() const { return false; } | 320 virtual bool isFileUploadButton() const { return false; } |
321 virtual bool isGroup() const { return false; } | 321 virtual bool isGroup() const { return false; } |
322 virtual bool isHeading() const { return false; } | 322 virtual bool isHeading() const { return false; } |
323 virtual bool isImage() const { return false; } | 323 virtual bool isImage() const { return false; } |
324 virtual bool isImageButton() const { return false; } | 324 virtual bool isImageButton() const { return false; } |
325 virtual bool isImageMapLink() const { return false; } | 325 virtual bool isImageMapLink() const { return false; } |
326 virtual bool isInputImage() const { return false; } | 326 virtual bool isInputImage() const { return false; } |
327 virtual bool isInputSlider() const { return false; } | 327 virtual bool isInputSlider() const { return false; } |
328 virtual bool isLandmark() const; | 328 bool isLandmark() const; |
329 virtual bool isLink() const { return false; } | 329 virtual bool isLink() const { return false; } |
330 virtual bool isList() const { return false; } | 330 virtual bool isList() const { return false; } |
331 virtual bool isListBox() const { return roleValue() == ListBoxRole; } | 331 virtual bool isListBox() const { return roleValue() == ListBoxRole; } |
332 virtual bool isListItem() const { return roleValue() == ListItemRole; } | 332 bool isListItem() const { return roleValue() == ListItemRole; } |
333 virtual bool isMediaControlLabel() const { return false; } | 333 virtual bool isMediaControlLabel() const { return false; } |
334 virtual bool isMediaTimeline() const { return false; } | 334 virtual bool isMediaTimeline() const { return false; } |
335 virtual bool isMenu() const { return false; } | 335 virtual bool isMenu() const { return false; } |
336 virtual bool isMenuBar() const { return false; } | 336 virtual bool isMenuBar() const { return false; } |
337 virtual bool isMenuButton() const { return false; } | 337 virtual bool isMenuButton() const { return false; } |
338 virtual bool isMenuItem() const { return false; } | 338 virtual bool isMenuItem() const { return false; } |
339 virtual bool isMenuList() const { return false; } | 339 virtual bool isMenuList() const { return false; } |
340 virtual bool isMenuListOption() const { return false; } | 340 virtual bool isMenuListOption() const { return false; } |
341 virtual bool isMenuListPopup() const { return false; } | 341 virtual bool isMenuListPopup() const { return false; } |
342 virtual bool isMenuRelated() const { return false; } | 342 virtual bool isMenuRelated() const { return false; } |
343 virtual bool isMockObject() const { return false; } | 343 virtual bool isMockObject() const { return false; } |
344 virtual bool isNativeImage() const { return false; } | 344 virtual bool isNativeImage() const { return false; } |
345 virtual bool isNativeSpinButton() const { return false; } | 345 virtual bool isNativeSpinButton() const { return false; } |
346 virtual bool isNativeTextControl() const { return false; } | 346 virtual bool isNativeTextControl() const { return false; } |
347 virtual bool isPasswordField() const { return false; } | 347 virtual bool isPasswordField() const { return false; } |
348 virtual bool isProgressIndicator() const { return false; } | 348 virtual bool isProgressIndicator() const { return false; } |
349 virtual bool isRadioButton() const { return roleValue() == RadioButtonRole;
} | 349 bool isRadioButton() const { return roleValue() == RadioButtonRole; } |
350 virtual bool isRadioGroup() const { return roleValue() == RadioGroupRole; } | 350 bool isRadioGroup() const { return roleValue() == RadioGroupRole; } |
351 virtual bool isScrollView() const { return roleValue() == ScrollAreaRole; } | 351 bool isScrollView() const { return roleValue() == ScrollAreaRole; } |
352 virtual bool isScrollbar() const { return roleValue() == ScrollBarRole; } | 352 bool isScrollbar() const { return roleValue() == ScrollBarRole; } |
353 virtual bool isSeamlessWebArea() const { return roleValue() == SeamlessWebAr
eaRole; } | 353 bool isSeamlessWebArea() const { return roleValue() == SeamlessWebAreaRole;
} |
354 virtual bool isSearchField() const { return false; } | 354 virtual bool isSearchField() const { return false; } |
355 virtual bool isSlider() const { return false; } | 355 virtual bool isSlider() const { return false; } |
356 virtual bool isSpinButton() const { return roleValue() == SpinButtonRole; } | 356 virtual bool isSpinButton() const { return roleValue() == SpinButtonRole; } |
357 virtual bool isSpinButtonPart() const { return false; } | 357 virtual bool isSpinButtonPart() const { return false; } |
358 virtual bool isTabItem() const { return roleValue() == TabRole; } | 358 bool isTabItem() const { return roleValue() == TabRole; } |
359 virtual bool isTabList() const { return roleValue() == TabListRole; } | 359 bool isTabList() const { return roleValue() == TabListRole; } |
360 virtual bool isTableCell() const { return false; } | 360 virtual bool isTableCell() const { return false; } |
361 virtual bool isTableColumn() const { return false; } | 361 virtual bool isTableColumn() const { return false; } |
362 virtual bool isTableRow() const { return false; } | 362 virtual bool isTableRow() const { return false; } |
363 virtual bool isTextControl() const; | 363 bool isTextControl() const; |
364 virtual bool isTree() const { return roleValue() == TreeRole; } | 364 bool isTree() const { return roleValue() == TreeRole; } |
365 virtual bool isTreeItem() const { return roleValue() == TreeItemRole; } | 365 bool isTreeItem() const { return roleValue() == TreeItemRole; } |
366 virtual bool isWebArea() const { return roleValue() == WebAreaRole; } | 366 bool isWebArea() const { return roleValue() == WebAreaRole; } |
367 | 367 |
368 // Check object state. | 368 // Check object state. |
369 virtual bool isChecked() const { return false; } | 369 virtual bool isChecked() const { return false; } |
370 virtual bool isCollapsed() const { return false; } | 370 virtual bool isCollapsed() const { return false; } |
371 virtual bool isEnabled() const { return false; } | 371 virtual bool isEnabled() const { return false; } |
372 virtual bool isExpanded() const; | 372 bool isExpanded() const; |
373 virtual bool isFocused() const { return false; } | 373 virtual bool isFocused() const { return false; } |
374 virtual bool isHovered() const { return false; } | 374 virtual bool isHovered() const { return false; } |
375 virtual bool isIndeterminate() const { return false; } | 375 virtual bool isIndeterminate() const { return false; } |
376 virtual bool isLinked() const { return false; } | 376 virtual bool isLinked() const { return false; } |
377 virtual bool isLoaded() const { return false; } | 377 virtual bool isLoaded() const { return false; } |
378 virtual bool isMultiSelectable() const { return false; } | 378 virtual bool isMultiSelectable() const { return false; } |
379 virtual bool isOffScreen() const { return false; } | 379 virtual bool isOffScreen() const { return false; } |
380 virtual bool isPressed() const { return false; } | 380 virtual bool isPressed() const { return false; } |
381 virtual bool isReadOnly() const { return false; } | 381 virtual bool isReadOnly() const { return false; } |
382 virtual bool isRequired() const { return false; } | 382 virtual bool isRequired() const { return false; } |
383 virtual bool isSelected() const { return false; } | 383 virtual bool isSelected() const { return false; } |
384 virtual bool isSelectedOptionActive() const { return false; } | 384 virtual bool isSelectedOptionActive() const { return false; } |
385 virtual bool isUnvisited() const { return false; } | 385 virtual bool isUnvisited() const { return false; } |
386 virtual bool isVisible() const { return true; } | 386 virtual bool isVisible() const { return true; } |
387 virtual bool isVisited() const { return false; } | 387 virtual bool isVisited() const { return false; } |
388 | 388 |
389 // Check whether certain properties can be modified. | 389 // Check whether certain properties can be modified. |
390 virtual bool canSetFocusAttribute() const { return false; } | 390 virtual bool canSetFocusAttribute() const { return false; } |
391 virtual bool canSetTextRangeAttributes() const { return false; } | 391 virtual bool canSetTextRangeAttributes() const { return false; } |
392 virtual bool canSetValueAttribute() const { return false; } | 392 virtual bool canSetValueAttribute() const { return false; } |
393 virtual bool canSetNumericValue() const { return false; } | 393 virtual bool canSetNumericValue() const { return false; } |
394 virtual bool canSetSelectedAttribute() const { return false; } | 394 virtual bool canSetSelectedAttribute() const { return false; } |
395 virtual bool canSetSelectedChildrenAttribute() const { return false; } | 395 virtual bool canSetSelectedChildrenAttribute() const { return false; } |
396 virtual bool canSetExpandedAttribute() const { return false; } | 396 virtual bool canSetExpandedAttribute() const { return false; } |
397 | 397 |
398 // Rich text properties. | 398 // Rich text properties. |
399 virtual bool hasBoldFont() const { return false; } | 399 virtual bool hasBoldFont() const { return false; } |
400 virtual bool hasHighlighting() const; | 400 bool hasHighlighting() const; |
401 virtual bool hasItalicFont() const { return false; } | 401 virtual bool hasItalicFont() const { return false; } |
402 virtual bool hasMisspelling() const; | 402 bool hasMisspelling() const; |
403 virtual bool hasPlainText() const { return false; } | 403 virtual bool hasPlainText() const { return false; } |
404 virtual bool hasSameFont(RenderObject*) const { return false; } | 404 virtual bool hasSameFont(RenderObject*) const { return false; } |
405 virtual bool hasSameFontColor(RenderObject*) const { return false; } | 405 virtual bool hasSameFontColor(RenderObject*) const { return false; } |
406 virtual bool hasSameStyle(RenderObject*) const { return false; } | 406 virtual bool hasSameStyle(RenderObject*) const { return false; } |
407 virtual bool hasUnderline() const { return false; } | 407 virtual bool hasUnderline() const { return false; } |
408 | 408 |
409 // Whether objects are ignored, i.e. not included in the tree. | 409 // Whether objects are ignored, i.e. not included in the tree. |
410 virtual bool accessibilityIsIgnored() const; | 410 bool accessibilityIsIgnored() const; |
411 virtual bool accessibilityIsIgnoredByDefault() const; | 411 bool accessibilityIsIgnoredByDefault() const; |
412 AccessibilityObjectInclusion accessibilityPlatformIncludesObject() const; | 412 AccessibilityObjectInclusion accessibilityPlatformIncludesObject() const; |
413 virtual AccessibilityObjectInclusion defaultObjectInclusion() const; | 413 virtual AccessibilityObjectInclusion defaultObjectInclusion() const; |
414 virtual bool lastKnownIsIgnoredValue(); | 414 bool lastKnownIsIgnoredValue(); |
415 virtual void setLastKnownIsIgnoredValue(bool); | 415 void setLastKnownIsIgnoredValue(bool); |
416 | 416 |
417 // Properties of static elements. | 417 // Properties of static elements. |
418 virtual const AtomicString& accessKey() const { return nullAtom; } | 418 virtual const AtomicString& accessKey() const { return nullAtom; } |
419 virtual int blockquoteLevel() const; | 419 int blockquoteLevel() const; |
420 virtual bool canvasHasFallbackContent() const { return false; } | 420 virtual bool canvasHasFallbackContent() const { return false; } |
421 virtual AccessibilityObject* correspondingControlForLabelElement() const { r
eturn 0; } | 421 virtual AccessibilityObject* correspondingControlForLabelElement() const { r
eturn 0; } |
422 virtual AccessibilityObject* correspondingLabelForControlElement() const { r
eturn 0; } | 422 virtual AccessibilityObject* correspondingLabelForControlElement() const { r
eturn 0; } |
423 virtual bool exposesTitleUIElement() const { return true; } | 423 virtual bool exposesTitleUIElement() const { return true; } |
424 virtual int headingLevel() const { return 0; } | 424 virtual int headingLevel() const { return 0; } |
425 // 1-based, to match the aria-level spec. | 425 // 1-based, to match the aria-level spec. |
426 virtual unsigned hierarchicalLevel() const { return 0; } | 426 virtual unsigned hierarchicalLevel() const { return 0; } |
427 virtual void linkedUIElements(AccessibilityChildrenVector&) const { } | 427 virtual void linkedUIElements(AccessibilityChildrenVector&) const { } |
428 virtual AccessibilityOrientation orientation() const; | 428 virtual AccessibilityOrientation orientation() const; |
429 virtual void tabChildren(AccessibilityChildrenVector&) { } | 429 virtual void tabChildren(AccessibilityChildrenVector&) { } |
430 virtual int tableLevel() const { return 0; } | 430 virtual int tableLevel() const { return 0; } |
431 virtual String text() const { return String(); } | 431 virtual String text() const { return String(); } |
432 virtual int textLength() const { return 0; } | 432 virtual int textLength() const { return 0; } |
433 virtual AccessibilityObject* titleUIElement() const { return 0; } | 433 virtual AccessibilityObject* titleUIElement() const { return 0; } |
434 virtual KURL url() const { return KURL(); } | 434 virtual KURL url() const { return KURL(); } |
435 virtual void visibleChildren(AccessibilityChildrenVector&) { } | 435 virtual void visibleChildren(AccessibilityChildrenVector&) { } |
436 | 436 |
437 // Properties of interactive elements. | 437 // Properties of interactive elements. |
438 virtual const String& actionVerb() const; | 438 virtual const String& actionVerb() const; |
439 virtual AccessibilityButtonState checkboxOrRadioValue() const; | 439 virtual AccessibilityButtonState checkboxOrRadioValue() const; |
440 virtual void colorValue(int& r, int& g, int& b) const { r = 0; g = 0; b = 0;
} | 440 virtual void colorValue(int& r, int& g, int& b) const { r = 0; g = 0; b = 0;
} |
441 virtual String valueDescription() const { return String(); } | 441 virtual String valueDescription() const { return String(); } |
442 virtual float valueForRange() const { return 0.0f; } | 442 virtual float valueForRange() const { return 0.0f; } |
443 virtual float maxValueForRange() const { return 0.0f; } | 443 virtual float maxValueForRange() const { return 0.0f; } |
444 virtual float minValueForRange() const { return 0.0f; } | 444 virtual float minValueForRange() const { return 0.0f; } |
445 virtual const AtomicString& placeholderValue() const; | 445 const AtomicString& placeholderValue() const; |
446 virtual void selectedChildren(AccessibilityChildrenVector&) { } | 446 virtual void selectedChildren(AccessibilityChildrenVector&) { } |
447 virtual AccessibilityObject* selectedRadioButton() { return 0; } | 447 virtual AccessibilityObject* selectedRadioButton() { return 0; } |
448 virtual AccessibilityObject* selectedTabItem() { return 0; } | 448 virtual AccessibilityObject* selectedTabItem() { return 0; } |
449 virtual float stepValueForRange() const { return 0.0f; } | 449 virtual float stepValueForRange() const { return 0.0f; } |
450 virtual String stringValue() const { return String(); } | 450 virtual String stringValue() const { return String(); } |
451 | 451 |
452 // ARIA attributes. | 452 // ARIA attributes. |
453 virtual AccessibilityObject* activeDescendant() const { return 0; } | 453 virtual AccessibilityObject* activeDescendant() const { return 0; } |
454 virtual String ariaDescribedByAttribute() const { return String(); } | 454 String ariaDescribedByAttribute() const { return String(); } |
455 virtual void ariaFlowToElements(AccessibilityChildrenVector&) const { } | 455 virtual void ariaFlowToElements(AccessibilityChildrenVector&) const { } |
456 virtual bool ariaHasPopup() const { return false; } | 456 virtual bool ariaHasPopup() const { return false; } |
457 virtual bool ariaIsMultiline() const; | 457 bool ariaIsMultiline() const; |
458 virtual String ariaLabeledByAttribute() const { return String(); } | 458 virtual String ariaLabeledByAttribute() const { return String(); } |
459 virtual void ariaOwnsElements(AccessibilityChildrenVector&) const { } | 459 virtual void ariaOwnsElements(AccessibilityChildrenVector&) const { } |
460 virtual int ariaPosInSet() const; | 460 int ariaPosInSet() const; |
461 virtual bool ariaPressedIsPresent() const; | 461 bool ariaPressedIsPresent() const; |
462 virtual AccessibilityRole ariaRoleAttribute() const { return UnknownRole; } | 462 AccessibilityRole ariaRoleAttribute() const { return UnknownRole; } |
463 virtual bool ariaRoleHasPresentationalChildren() const { return false; } | 463 virtual bool ariaRoleHasPresentationalChildren() const { return false; } |
464 virtual int ariaSetSize() const; | 464 int ariaSetSize() const; |
465 virtual void determineARIADropEffects(Vector<String>&) { } | 465 virtual void determineARIADropEffects(Vector<String>&) { } |
466 virtual const AtomicString& invalidStatus() const; | 466 const AtomicString& invalidStatus() const; |
467 virtual bool isARIAGrabbed() { return false; } | 467 virtual bool isARIAGrabbed() { return false; } |
468 virtual bool isPresentationalChildOfAriaRole() const { return false; } | 468 virtual bool isPresentationalChildOfAriaRole() const { return false; } |
469 virtual bool shouldFocusActiveDescendant() const { return false; } | 469 virtual bool shouldFocusActiveDescendant() const { return false; } |
470 virtual AccessibilitySortDirection sortDirection() const; | 470 AccessibilitySortDirection sortDirection() const; |
471 virtual bool supportsARIAAttributes() const; | 471 bool supportsARIAAttributes() const; |
472 virtual bool supportsARIADragging() const { return false; } | 472 virtual bool supportsARIADragging() const { return false; } |
473 virtual bool supportsARIADropping() const { return false; } | 473 virtual bool supportsARIADropping() const { return false; } |
474 virtual bool supportsARIAExpanded() const; | 474 bool supportsARIAExpanded() const; |
475 virtual bool supportsARIAFlowTo() const { return false; } | 475 virtual bool supportsARIAFlowTo() const { return false; } |
476 virtual bool supportsARIAOwns() const { return false; } | 476 virtual bool supportsARIAOwns() const { return false; } |
477 virtual bool supportsARIAPosInSet() const; | 477 bool supportsARIAPosInSet() const; |
478 virtual bool supportsARIASetSize() const; | 478 bool supportsARIASetSize() const; |
479 virtual bool supportsRangeValue() const; | 479 bool supportsRangeValue() const; |
480 | 480 |
481 // ARIA trees. | 481 // ARIA trees. |
482 // Used by an ARIA tree to get all its rows. | 482 // Used by an ARIA tree to get all its rows. |
483 void ariaTreeRows(AccessibilityChildrenVector&); | 483 void ariaTreeRows(AccessibilityChildrenVector&); |
484 // Used by an ARIA tree item to get all of its direct rows that it can discl
ose. | 484 // Used by an ARIA tree item to get all of its direct rows that it can discl
ose. |
485 void ariaTreeItemDisclosedRows(AccessibilityChildrenVector&); | 485 void ariaTreeItemDisclosedRows(AccessibilityChildrenVector&); |
486 // Used by an ARIA tree item to get only its content, and not its child tree
items and groups. | 486 // Used by an ARIA tree item to get only its content, and not its child tree
items and groups. |
487 void ariaTreeItemContent(AccessibilityChildrenVector&); | 487 void ariaTreeItemContent(AccessibilityChildrenVector&); |
488 | 488 |
489 // ARIA live-region features. | 489 // ARIA live-region features. |
(...skipping 22 matching lines...) Expand all Loading... |
512 | 512 |
513 // Hit testing. | 513 // Hit testing. |
514 // Called on the root AX object to return the deepest available element. | 514 // Called on the root AX object to return the deepest available element. |
515 virtual AccessibilityObject* accessibilityHitTest(const IntPoint&) const { r
eturn 0; } | 515 virtual AccessibilityObject* accessibilityHitTest(const IntPoint&) const { r
eturn 0; } |
516 // Called on the AX object after the render tree determines which is the rig
ht AccessibilityRenderObject. | 516 // Called on the AX object after the render tree determines which is the rig
ht AccessibilityRenderObject. |
517 virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&) co
nst; | 517 virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&) co
nst; |
518 | 518 |
519 // High-level accessibility tree access. Other modules should only use these
functions. | 519 // High-level accessibility tree access. Other modules should only use these
functions. |
520 const AccessibilityChildrenVector& children(); | 520 const AccessibilityChildrenVector& children(); |
521 virtual AccessibilityObject* parentObject() const = 0; | 521 virtual AccessibilityObject* parentObject() const = 0; |
522 virtual AccessibilityObject* parentObjectUnignored() const; | 522 AccessibilityObject* parentObjectUnignored() const; |
523 virtual AccessibilityObject* parentObjectIfExists() const { return 0; } | 523 virtual AccessibilityObject* parentObjectIfExists() const { return 0; } |
524 | 524 |
525 // Low-level accessibility tree exploration, only for use within the accessi
bility module. | 525 // Low-level accessibility tree exploration, only for use within the accessi
bility module. |
526 virtual AccessibilityObject* firstChild() const { return 0; } | 526 virtual AccessibilityObject* firstChild() const { return 0; } |
527 virtual AccessibilityObject* lastChild() const { return 0; } | 527 virtual AccessibilityObject* lastChild() const { return 0; } |
528 virtual AccessibilityObject* previousSibling() const { return 0; } | 528 virtual AccessibilityObject* previousSibling() const { return 0; } |
529 virtual AccessibilityObject* nextSibling() const { return 0; } | 529 virtual AccessibilityObject* nextSibling() const { return 0; } |
530 static AccessibilityObject* firstAccessibleObjectFromNode(const Node*); | 530 static AccessibilityObject* firstAccessibleObjectFromNode(const Node*); |
531 virtual void addChildren() { } | 531 virtual void addChildren() { } |
532 virtual void addChild(AccessibilityObject*) { } | 532 virtual void addChild(AccessibilityObject*) { } |
533 virtual void insertChild(AccessibilityObject*, unsigned) { } | 533 virtual void insertChild(AccessibilityObject*, unsigned) { } |
534 virtual bool canHaveChildren() const { return true; } | 534 virtual bool canHaveChildren() const { return true; } |
535 virtual bool hasChildren() const { return m_haveChildren; } | 535 bool hasChildren() const { return m_haveChildren; } |
536 virtual void updateChildrenIfNecessary(); | 536 virtual void updateChildrenIfNecessary(); |
537 virtual void setNeedsToUpdateChildren() { } | 537 virtual void setNeedsToUpdateChildren() { } |
538 virtual void clearChildren(); | 538 virtual void clearChildren(); |
539 virtual void detachFromParent() { } | 539 virtual void detachFromParent() { } |
540 virtual AccessibilityObject* observableObject() const { return 0; } | 540 virtual AccessibilityObject* observableObject() const { return 0; } |
541 virtual AccessibilityObject* scrollBar(AccessibilityOrientation) { return 0;
} | 541 virtual AccessibilityObject* scrollBar(AccessibilityOrientation) { return 0;
} |
542 | 542 |
543 // Properties of the object's owning document or page. | 543 // Properties of the object's owning document or page. |
544 virtual double estimatedLoadingProgress() const { return 0; } | 544 virtual double estimatedLoadingProgress() const { return 0; } |
545 virtual AccessibilityObject* focusedUIElement() const; | 545 AccessibilityObject* focusedUIElement() const; |
546 | 546 |
547 // DOM and Render tree access. | 547 // DOM and Render tree access. |
548 virtual Node* node() const { return 0; } | 548 virtual Node* node() const { return 0; } |
549 virtual RenderObject* renderer() const { return 0; } | 549 virtual RenderObject* renderer() const { return 0; } |
550 virtual Document* document() const; | 550 virtual Document* document() const; |
551 virtual FrameView* topDocumentFrameView() const { return 0; } | 551 FrameView* topDocumentFrameView() const { return 0; } |
552 virtual FrameView* documentFrameView() const; | 552 virtual FrameView* documentFrameView() const; |
553 virtual Element* anchorElement() const { return 0; } | 553 virtual Element* anchorElement() const { return 0; } |
554 virtual Element* actionElement() const { return 0; } | 554 virtual Element* actionElement() const { return 0; } |
555 virtual Widget* widget() const { return 0; } | 555 virtual Widget* widget() const { return 0; } |
556 virtual Widget* widgetForAttachmentView() const { return 0; } | 556 virtual Widget* widgetForAttachmentView() const { return 0; } |
557 Page* page() const; | 557 Page* page() const; |
558 String language() const; | 558 String language() const; |
559 bool hasAttribute(const QualifiedName&) const; | 559 bool hasAttribute(const QualifiedName&) const; |
560 const AtomicString& getAttribute(const QualifiedName&) const; | 560 const AtomicString& getAttribute(const QualifiedName&) const; |
561 | 561 |
562 // Selected text. | 562 // Selected text. |
563 TextIteratorBehavior textIteratorBehaviorForTextRange() const; | 563 TextIteratorBehavior textIteratorBehaviorForTextRange() const; |
564 virtual PlainTextRange selectedTextRange() const { return PlainTextRange();
} | 564 virtual PlainTextRange selectedTextRange() const { return PlainTextRange();
} |
565 unsigned selectionStart() const { return selectedTextRange().start; } | 565 unsigned selectionStart() const { return selectedTextRange().start; } |
566 unsigned selectionEnd() const { return selectedTextRange().length; } | 566 unsigned selectionEnd() const { return selectedTextRange().length; } |
567 virtual VisibleSelection selection() const { return VisibleSelection(); } | 567 virtual VisibleSelection selection() const { return VisibleSelection(); } |
568 virtual String selectedText() const { return String(); } | 568 virtual String selectedText() const { return String(); } |
569 | 569 |
570 // Modify or take an action on an object. | 570 // Modify or take an action on an object. |
571 virtual void increment() { } | 571 virtual void increment() { } |
572 virtual void decrement() { } | 572 virtual void decrement() { } |
573 virtual void makeRangeVisible(const PlainTextRange&) { } | 573 void makeRangeVisible(const PlainTextRange&) { } |
574 virtual bool performDefaultAction() const { return press(); } | 574 bool performDefaultAction() const { return press(); } |
575 virtual bool press() const; | 575 virtual bool press() const; |
576 // Make this object visible by scrolling as many nested scrollable views as
needed. | 576 // Make this object visible by scrolling as many nested scrollable views as
needed. |
577 virtual void scrollToMakeVisible() const; | 577 void scrollToMakeVisible() const; |
578 // Same, but if the whole object can't be made visible, try for this subrect
, in local coordinates. | 578 // Same, but if the whole object can't be made visible, try for this subrect
, in local coordinates. |
579 virtual void scrollToMakeVisibleWithSubFocus(const IntRect&) const; | 579 void scrollToMakeVisibleWithSubFocus(const IntRect&) const; |
580 // Scroll this object to a given point in global coordinates of the top-leve
l window. | 580 // Scroll this object to a given point in global coordinates of the top-leve
l window. |
581 virtual void scrollToGlobalPoint(const IntPoint&) const; | 581 void scrollToGlobalPoint(const IntPoint&) const; |
582 virtual void setAccessibleName(const AtomicString&) { } | 582 void setAccessibleName(const AtomicString&) { } |
583 virtual void setFocused(bool) { } | 583 virtual void setFocused(bool) { } |
584 virtual void setSelected(bool) { } | 584 virtual void setSelected(bool) { } |
585 virtual void setSelectedRows(AccessibilityChildrenVector&) { } | 585 virtual void setSelectedRows(AccessibilityChildrenVector&) { } |
586 virtual void setSelectedText(const String&) { } | 586 void setSelectedText(const String&) { } |
587 virtual void setSelectedTextRange(const PlainTextRange&) { } | 587 virtual void setSelectedTextRange(const PlainTextRange&) { } |
588 virtual void setValue(const String&) { } | 588 virtual void setValue(const String&) { } |
589 virtual void setValue(float) { } | 589 virtual void setValue(float) { } |
590 | 590 |
591 // Notifications that this object may have changed. | 591 // Notifications that this object may have changed. |
592 virtual void childrenChanged() { } | 592 virtual void childrenChanged() { } |
593 virtual void handleActiveDescendantChanged() { } | 593 virtual void handleActiveDescendantChanged() { } |
594 virtual void handleAriaExpandedChanged() { } | 594 virtual void handleAriaExpandedChanged() { } |
595 virtual void notifyIfIgnoredValueChanged(); | 595 void notifyIfIgnoredValueChanged(); |
596 virtual void textChanged() { } | 596 virtual void textChanged() { } |
597 virtual void updateAccessibilityRole() { } | 597 virtual void updateAccessibilityRole() { } |
598 | 598 |
599 // Text metrics. Most of these should be deprecated, needs major cleanup. | 599 // Text metrics. Most of these should be deprecated, needs major cleanup. |
600 virtual VisiblePositionRange visiblePositionRange() const { return VisiblePo
sitionRange(); } | 600 virtual VisiblePositionRange visiblePositionRange() const { return VisiblePo
sitionRange(); } |
601 virtual VisiblePositionRange visiblePositionRangeForLine(unsigned) const { r
eturn VisiblePositionRange(); } | 601 virtual VisiblePositionRange visiblePositionRangeForLine(unsigned) const { r
eturn VisiblePositionRange(); } |
602 VisiblePositionRange visiblePositionRangeForUnorderedPositions(const Visible
Position&, const VisiblePosition&) const; | 602 VisiblePositionRange visiblePositionRangeForUnorderedPositions(const Visible
Position&, const VisiblePosition&) const; |
603 VisiblePositionRange styleRangeForPosition(const VisiblePosition&) const; | 603 VisiblePositionRange styleRangeForPosition(const VisiblePosition&) const; |
604 VisiblePositionRange visiblePositionRangeForRange(const PlainTextRange&) con
st; | 604 VisiblePositionRange visiblePositionRangeForRange(const PlainTextRange&) con
st; |
605 String stringForVisiblePositionRange(const VisiblePositionRange&) const; | 605 String stringForVisiblePositionRange(const VisiblePositionRange&) const; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
642 mutable bool m_haveChildren; | 642 mutable bool m_haveChildren; |
643 AccessibilityRole m_role; | 643 AccessibilityRole m_role; |
644 AccessibilityObjectInclusion m_lastKnownIsIgnoredValue; | 644 AccessibilityObjectInclusion m_lastKnownIsIgnoredValue; |
645 | 645 |
646 virtual bool computeAccessibilityIsIgnored() const { return true; } | 646 virtual bool computeAccessibilityIsIgnored() const { return true; } |
647 | 647 |
648 // If this object itself scrolls, return its ScrollableArea. | 648 // If this object itself scrolls, return its ScrollableArea. |
649 virtual ScrollableArea* getScrollableAreaIfScrollable() const { return 0; } | 649 virtual ScrollableArea* getScrollableAreaIfScrollable() const { return 0; } |
650 virtual void scrollTo(const IntPoint&) const { } | 650 virtual void scrollTo(const IntPoint&) const { } |
651 | 651 |
652 virtual AccessibilityRole buttonRoleType() const; | 652 AccessibilityRole buttonRoleType() const; |
653 bool ariaIsHidden() const; | 653 bool ariaIsHidden() const; |
654 | 654 |
655 bool allowsTextRanges() const { return isTextControl(); } | 655 bool allowsTextRanges() const { return isTextControl(); } |
656 unsigned getLengthForTextRange() const { return text().length(); } | 656 unsigned getLengthForTextRange() const { return text().length(); } |
657 | 657 |
658 bool m_detached; | 658 bool m_detached; |
659 }; | 659 }; |
660 | 660 |
661 #if !HAVE(ACCESSIBILITY) | 661 #if !HAVE(ACCESSIBILITY) |
662 inline const AccessibilityObject::AccessibilityChildrenVector& AccessibilityObje
ct::children() { return m_children; } | 662 inline const AccessibilityObject::AccessibilityChildrenVector& AccessibilityObje
ct::children() { return m_children; } |
663 inline const String& AccessibilityObject::actionVerb() const { return emptyStrin
g(); } | 663 inline const String& AccessibilityObject::actionVerb() const { return emptyStrin
g(); } |
664 inline int AccessibilityObject::lineForPosition(const VisiblePosition&) const {
return -1; } | 664 inline int AccessibilityObject::lineForPosition(const VisiblePosition&) const {
return -1; } |
665 inline void AccessibilityObject::updateBackingStore() { } | 665 inline void AccessibilityObject::updateBackingStore() { } |
666 #endif | 666 #endif |
667 | 667 |
668 } // namespace WebCore | 668 } // namespace WebCore |
669 | 669 |
670 #endif // AccessibilityObject_h | 670 #endif // AccessibilityObject_h |
OLD | NEW |