Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(264)

Side by Side Diff: docs/accessibility/overview.md

Issue 2858493002: Rename AXObject to AXObjectImpl in modules/ and web/ (Closed)
Patch Set: Reverted unexpected change to blink rename merge helper Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Accessibility Overview 1 # Accessibility Overview
2 2
3 Accessibility means ensuring that all users, including users with disabilities, 3 Accessibility means ensuring that all users, including users with disabilities,
4 have equal access to software. One piece of this involves basic design 4 have equal access to software. One piece of this involves basic design
5 principles such as using appropriate font sizes and color contrast, 5 principles such as using appropriate font sizes and color contrast,
6 avoiding using color to convey important information, and providing keyboard 6 avoiding using color to convey important information, and providing keyboard
7 alternatives for anything that is normally accomplished with a pointing device. 7 alternatives for anything that is normally accomplished with a pointing device.
8 However, when you see the word "accessibility" in a directory name in Chromium, 8 However, when you see the word "accessibility" in a directory name in Chromium,
9 that code's purpose is to provide full access to Chromium's UI via external 9 that code's purpose is to provide full access to Chromium's UI via external
10 accessibility APIs that are utilized by assistive technology. 10 accessibility APIs that are utilized by assistive technology.
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 404
405 The node IDs for accessibility trees only need to be unique within a 405 The node IDs for accessibility trees only need to be unique within a
406 single frame. Where necessary, separate unique IDs are used within 406 single frame. Where necessary, separate unique IDs are used within
407 Chrome's main browser process. In Chromium accessibility, a "node ID" 407 Chrome's main browser process. In Chromium accessibility, a "node ID"
408 always means that ID that's only unique within a frame, and a "unique ID" 408 always means that ID that's only unique within a frame, and a "unique ID"
409 means an ID that's globally unique. 409 means an ID that's globally unique.
410 410
411 ## Blink 411 ## Blink
412 412
413 Blink constructs an accessibility tree (a hierarchy of [WebAXObject]s) from the 413 Blink constructs an accessibility tree (a hierarchy of [WebAXObject]s) from the
414 page it is rendering. WebAXObject is the public API wrapper around [AXObject], 414 page it is rendering. WebAXObject is the public API wrapper around [AXObjectImpl ],
dmazzoni 2017/05/05 05:18:46 Please revert these changes
415 which is the core class of Blink's accessibility tree. AXObject is an abstract 415 which is the core class of Blink's accessibility tree. AXObjectImpl is an abstra ct
416 class; the most commonly used concrete subclass of it is [AXNodeObject], which 416 class; the most commonly used concrete subclass of it is [AXNodeObject], which
417 wraps a [Node]. In turn, most AXNodeObjects are actually [AXLayoutObject]s, 417 wraps a [Node]. In turn, most AXNodeObjects are actually [AXLayoutObject]s,
418 which wrap both a [Node] and a [LayoutObject]. Access to the LayoutObject is 418 which wrap both a [Node] and a [LayoutObject]. Access to the LayoutObject is
419 important because some elements are only in the AXObject tree depending on their 419 important because some elements are only in the AXObjectImpl tree depending on t heir
420 visibility, geometry, linewrapping, and so on. There are some subclasses of 420 visibility, geometry, linewrapping, and so on. There are some subclasses of
421 AXLayoutObject that implement special-case logic for specific types of Node. 421 AXLayoutObject that implement special-case logic for specific types of Node.
422 There are also other subclasses of AXObject, which are mostly used for testing. 422 There are also other subclasses of AXObjectImpl, which are mostly used for testi ng.
423 423
424 Note that not all AXLayoutObjects correspond to actual Nodes; some are synthetic 424 Note that not all AXLayoutObjects correspond to actual Nodes; some are synthetic
425 layout objects which group related inline elements or similar. 425 layout objects which group related inline elements or similar.
426 426
427 The central class responsible for dealing with accessibility events in Blink is 427 The central class responsible for dealing with accessibility events in Blink is
428 [AXObjectCacheImpl], which is responsible for caching the corresponding 428 [AXObjectCacheImpl], which is responsible for caching the corresponding
429 AXObjects for Nodes or LayoutObjects. This class has many methods named 429 AXObjects for Nodes or LayoutObjects. This class has many methods named
430 `handleFoo`, which are called throughout Blink to notify the AXObjectCacheImpl 430 `handleFoo`, which are called throughout Blink to notify the AXObjectCacheImpl
431 that it may need to update its tree. Since this class is already aware of all 431 that it may need to update its tree. Since this class is already aware of all
432 accessibility events in Blink, it is also responsible for relaying accessibility 432 accessibility events in Blink, it is also responsible for relaying accessibility
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 actions. This API is implemented in C++ by [AutomationInternalCustomBindings], 486 actions. This API is implemented in C++ by [AutomationInternalCustomBindings],
487 which is renderer-side code, and in JavaScript by the [automation API]. The API 487 which is renderer-side code, and in JavaScript by the [automation API]. The API
488 is defined by [automation.idl], which must be kept synchronized with 488 is defined by [automation.idl], which must be kept synchronized with
489 [ax_enums.idl]. 489 [ax_enums.idl].
490 490
491 [AccessibilityHostMsg_EventParams]: https://cs.chromium.org/chromium/src/content /common/accessibility_messages.h?sq=package:chromium&l=75 491 [AccessibilityHostMsg_EventParams]: https://cs.chromium.org/chromium/src/content /common/accessibility_messages.h?sq=package:chromium&l=75
492 [AutomationInternalCustomBindings]: https://cs.chromium.org/chromium/src/chrome/ renderer/extensions/automation_internal_custom_bindings.h 492 [AutomationInternalCustomBindings]: https://cs.chromium.org/chromium/src/chrome/ renderer/extensions/automation_internal_custom_bindings.h
493 [AXContentNodeData]: https://cs.chromium.org/chromium/src/content/common/ax_cont ent_node_data.h 493 [AXContentNodeData]: https://cs.chromium.org/chromium/src/content/common/ax_cont ent_node_data.h
494 [AXLayoutObject]: https://cs.chromium.org/chromium/src/third_party/WebKit/Source /modules/accessibility/AXLayoutObject.h 494 [AXLayoutObject]: https://cs.chromium.org/chromium/src/third_party/WebKit/Source /modules/accessibility/AXLayoutObject.h
495 [AXNodeObject]: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/m odules/accessibility/AXNodeObject.h 495 [AXNodeObject]: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/m odules/accessibility/AXNodeObject.h
496 [AXObject]: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/modul es/accessibility/AXObject.h 496 [AXObjectImpl]: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/m odules/accessibility/AXObjectImpl.h
dmazzoni 2017/05/05 05:18:46 This one is fine
497 [AXObjectCacheImpl]: https://cs.chromium.org/chromium/src/third_party/WebKit/Sou rce/modules/accessibility/AXObjectCacheImpl.h 497 [AXObjectCacheImpl]: https://cs.chromium.org/chromium/src/third_party/WebKit/Sou rce/modules/accessibility/AXObjectCacheImpl.h
498 [AXPlatformNode]: https://cs.chromium.org/chromium/src/ui/accessibility/platform /ax_platform_node.h 498 [AXPlatformNode]: https://cs.chromium.org/chromium/src/ui/accessibility/platform /ax_platform_node.h
499 [AXTreeSerializer]: https://cs.chromium.org/chromium/src/ui/accessibility/ax_tre e_serializer.h 499 [AXTreeSerializer]: https://cs.chromium.org/chromium/src/ui/accessibility/ax_tre e_serializer.h
500 [BlinkAXTreeSource]: https://cs.chromium.org/chromium/src/content/renderer/acces sibility/blink_ax_tree_source.h 500 [BlinkAXTreeSource]: https://cs.chromium.org/chromium/src/content/renderer/acces sibility/blink_ax_tree_source.h
501 [BrowserAccessibility]: https://cs.chromium.org/chromium/src/content/browser/acc essibility/browser_accessibility.h 501 [BrowserAccessibility]: https://cs.chromium.org/chromium/src/content/browser/acc essibility/browser_accessibility.h
502 [BrowserAccessibilityDelegate]: https://cs.chromium.org/chromium/src/content/bro wser/accessibility/browser_accessibility_manager.h?sq=package:chromium&l=64 502 [BrowserAccessibilityDelegate]: https://cs.chromium.org/chromium/src/content/bro wser/accessibility/browser_accessibility_manager.h?sq=package:chromium&l=64
503 [BrowserAccessibilityManager]: https://cs.chromium.org/chromium/src/content/brow ser/accessibility/browser_accessibility_manager.h 503 [BrowserAccessibilityManager]: https://cs.chromium.org/chromium/src/content/brow ser/accessibility/browser_accessibility_manager.h
504 [LayoutObject]: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/c ore/layout/LayoutObject.h 504 [LayoutObject]: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/c ore/layout/LayoutObject.h
505 [NativeViewAccessibility]: https://cs.chromium.org/chromium/src/ui/views/accessi bility/native_view_accessibility.h 505 [NativeViewAccessibility]: https://cs.chromium.org/chromium/src/ui/views/accessi bility/native_view_accessibility.h
506 [Node]: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/dom/ Node.h 506 [Node]: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/dom/ Node.h
507 [RenderAccessibilityImpl]: https://cs.chromium.org/chromium/src/content/renderer /accessibility/render_accessibility_impl.h 507 [RenderAccessibilityImpl]: https://cs.chromium.org/chromium/src/content/renderer /accessibility/render_accessibility_impl.h
508 [RenderFrameHostImpl]: https://cs.chromium.org/chromium/src/content/browser/fram e_host/render_frame_host_impl.h 508 [RenderFrameHostImpl]: https://cs.chromium.org/chromium/src/content/browser/fram e_host/render_frame_host_impl.h
509 [ui::AXNodeData]: https://cs.chromium.org/chromium/src/ui/accessibility/ax_node_ data.h 509 [ui::AXNodeData]: https://cs.chromium.org/chromium/src/ui/accessibility/ax_node_ data.h
510 [WebAXObject]: https://cs.chromium.org/chromium/src/third_party/WebKit/public/we b/WebAXObject.h 510 [WebAXObject]: https://cs.chromium.org/chromium/src/third_party/WebKit/public/we b/WebAXObject.h
511 [automation API]: https://cs.chromium.org/chromium/src/chrome/renderer/resources /extensions/automation 511 [automation API]: https://cs.chromium.org/chromium/src/chrome/renderer/resources /extensions/automation
512 [automation.idl]: https://cs.chromium.org/chromium/src/chrome/common/extensions/ api/automation.idl 512 [automation.idl]: https://cs.chromium.org/chromium/src/chrome/common/extensions/ api/automation.idl
513 [ax_enums.idl]: https://cs.chromium.org/chromium/src/ui/accessibility/ax_enums.i dl 513 [ax_enums.idl]: https://cs.chromium.org/chromium/src/ui/accessibility/ax_enums.i dl
514 [chrome.automation API]: https://developer.chrome.com/extensions/automation 514 [chrome.automation API]: https://developer.chrome.com/extensions/automation
515 [webui-js]: https://cs.chromium.org/chromium/src/ui/webui/resources/js/cr/ui/ 515 [webui-js]: https://cs.chromium.org/chromium/src/ui/webui/resources/js/cr/ui/
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698