OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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/ |
OLD | NEW |