Accessibility/Comparisons:ATK To UA: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 43: Line 43:
Minimum and maximum values (for e.g., sliders and progressbars) can be returned from the [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html#//apple_ref/doc/c_ref/NSAccessibilityMaxValueAttribute AXMinValue] and [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html#//apple_ref/doc/c_ref/NSAccessibilityMinValueAttribute AXMaxValue] attributes.
Minimum and maximum values (for e.g., sliders and progressbars) can be returned from the [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html#//apple_ref/doc/c_ref/NSAccessibilityMaxValueAttribute AXMinValue] and [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html#//apple_ref/doc/c_ref/NSAccessibilityMinValueAttribute AXMaxValue] attributes.


=== Conceptual links ===
=== Relations ===
There are also [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html#//apple_ref/doc/uid/20000945-DontLinkElementID_16 attributes for linking a label to its widget, the widget to its label, and the AXLinkedUIElement attribute] that can be used to linked elements together than in the interface only are linked visually.
There are also [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html#//apple_ref/doc/uid/20000945-DontLinkElementID_16 attributes for linking a label to its widget, the widget to its label, and the AXLinkedUIElement attribute] that can be used to linked elements together than in the interface only are linked visually.


== Traversing the DOM (AtkDocument, AtkHypertext) ==
== Traversing the DOM (AtkDocument, AtkHypertext) ==
'''AtkDocument''' is ATK's way to expose the DOM to client applications. To my knowledge, this does not (yet) exist in UA, as with many advanced features (particularly those web-specific).
'''AtkDocument''' is ATK's way to expose the DOM to client applications. To my knowledge, this does not (yet) exist in UA, as with many advanced features (particularly those web-specific).
Here are two examples of how WebKit's web view exposes web page content:
; <p>text<img/>some text</p>
This is exposed as text, image, text -- all sibling nodes.
; <a href="foo.html">bar<img/></a>
The link is exposed as an AXLink, parent of the text and image nodes.


This is one of the areas where it's showing that UA was designed for desktop applications, and not for rich web browsers. Hopefully features features in the future UA will address this kind of gap.
This is one of the areas where it's showing that UA was designed for desktop applications, and not for rich web browsers. Hopefully features features in the future UA will address this kind of gap.
Line 79: Line 87:
== Images (AtkImage) ==
== Images (AtkImage) ==
In UA, images are supposed to have the [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html#//apple_ref/doc/c_ref/NSAccessibilityImageRole AXImage role]. The position, size, and other data of the actual image is retrievable via the actual NSView in the view hierarchy.
In UA, images are supposed to have the [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html#//apple_ref/doc/c_ref/NSAccessibilityImageRole AXImage role]. The position, size, and other data of the actual image is retrievable via the actual NSView in the view hierarchy.
== Tables (AtkTable) ==
The tables in UA are in reality adapted to tables in the user interface. Thus they lack many advanced features. The [http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSAccessibility_Protocol/Reference/Reference.html#//apple_ref/doc/uid/20000945-DontLinkElementID_8 attributes on the AXTableRole are defined here].
The attributes let an AT traverse a table by:
* All rows, or all columns
* Currently visible row(s) or column(s)
* Currently selected row(s) or column(s)
All of these attributes return arrays of children elements. In the row case, you get an array of all the objects on that row.
To get at a specific cell, it may be possible to just get at the right row, then choose the element depending on which column you want.
107

edits

Navigation menu