Roles and Mappings
These testable statements are intended to be used to verify CR exit criteria has been met for both Graphics ARIA and Graphics AAM. The reason these tests can be used with both specifications is that there are no normative "MUST" statements in Graphics ARIA for user agents beyond implementation of the roles. And implementation of the Graphics ARIA roles can be fully tested by the presence of the mappings specified in the Graphics AAM.
When writing testable statements, please keep in mind:
- All of the formatting below is consumed by a MediaWiki parser which converts the test cases into files which can be used as WPT manual tests and run in an automated fashion using "Assistive Technology Test Adapters" being developed by members of the ARIA Working Group. Please do NOT modify the formatting.
- We want to test the roles used on both SVG and HTML elements in order to ensure the results we get are due to the use of the Graphics ARIA role and not on existing SVG accessibility support.
- Similarly, unlike the spec's examples, we want to avoid fallback roles in order to ensure the results we get come from the implementation of the Graphics ARIA role; not from the implementation of the ARIA fallback role.
- The test cases should be simple and valid; not examples suitable for a best-practices guide.
graphics-document on HTML element
if given
<div id="test" role="graphics-document" aria-label="house">
<div role="graphics-object" aria-label="door"></div>
</div>
then expose the element with id of 'test' with the platform role mappings for graphics-document
element test
|
ATK
|
property
|
role
|
is
|
ROLE_DOCUMENT_FRAME
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-document
|
AXAPI
|
property
|
AXRole
|
is
|
AXGroup
|
property
|
AXSubrole
|
is
|
AXDocument
|
property
|
AXRoleDescription
|
is
|
'document'
|
IAccessible2
|
property
|
role
|
is
|
ROLE_SYSTEM_DOCUMENT
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-document
|
property
|
states
|
contains
|
STATE_SYSTEM_READONLY
|
UIA
|
property
|
ControlType
|
is
|
Document
|
graphics-document on SVG element
if given
<svg xmlns="http://www.w3.org/2000/svg" id="test" role="graphics-document">
<g role="graphics-object" aria-label="door">
<rect fill="darkKhaki" stroke="#632" width="50" height="90" />
<circle fill="gray" stroke="#444" stroke-width="0.7" cx="10" cy="50" r="4" />
</g>
</svg>
then expose the element with id of 'test' with the platform role mappings for graphics-document
element test
|
ATK
|
property
|
role
|
is
|
ROLE_DOCUMENT_FRAME
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-document
|
AXAPI
|
property
|
AXRole
|
is
|
AXGroup
|
property
|
AXSubrole
|
is
|
AXDocument
|
property
|
AXRoleDescription
|
is
|
'document'
|
IAccessible2
|
property
|
role
|
is
|
ROLE_SYSTEM_DOCUMENT
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-document
|
property
|
states
|
contains
|
STATE_SYSTEM_READONLY
|
UIA
|
property
|
ControlType
|
is
|
Document
|
graphics-object on HTML element
if given
<div role="graphics-document" aria-label="house">
<div id="test" role="graphics-object" aria-label="door"></div>
</div>
then expose the element with id of 'test' with the platform role mappings for graphics-object
element test
|
ATK
|
property
|
role
|
is
|
ROLE_PANEL
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-object
|
AXAPI
|
property
|
AXRole
|
is
|
AXGroup
|
property
|
AXSubrole
|
is
|
<nil>
|
property
|
AXRoleDescription
|
is
|
'group'
|
IAccessible2
|
property
|
role
|
is
|
ROLE_SYSTEM_GROUPING
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-object
|
UIA
|
property
|
ControlType
|
is
|
Group
|
graphics-object on SVG element
if given
<svg xmlns="http://www.w3.org/2000/svg" role="graphics-document">
<g id="test" role="graphics-object" aria-label="door">
<rect fill="darkKhaki" stroke="#632" width="50" height="90" />
<circle fill="gray" stroke="#444" stroke-width="0.7" cx="10" cy="50" r="4" />
</g>
</svg>
then expose the element with id of 'test' with the platform role mappings for graphics-object
element test
|
ATK
|
property
|
role
|
is
|
ROLE_PANEL
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-object
|
AXAPI
|
property
|
AXRole
|
is
|
AXGroup
|
property
|
AXSubrole
|
is
|
<nil>
|
property
|
AXRoleDescription
|
is
|
'group'
|
IAccessible2
|
property
|
role
|
is
|
ROLE_SYSTEM_GROUPING
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-object
|
UIA
|
property
|
ControlType
|
is
|
Group
|
graphics-symbol on HTML element
if given
<div>Spinach Salad with Strawberry & Almonds
<span id="test" aria-label="vegetarian" role="graphics-symbol">🌿</span>
<span aria-label="contains nuts" role="graphics-symbol">🌰</span>
</div>
then expose the element with id of 'test' with the platform role mappings for graphics-symbol
element test
|
ATK
|
property
|
role
|
is
|
ROLE_IMAGE
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-symbol
|
AXAPI
|
property
|
AXRole
|
is
|
AXImage
|
property
|
AXSubrole
|
is
|
<nil>
|
property
|
AXRoleDescription
|
is
|
'image'
|
IAccessible2
|
property
|
role
|
is
|
ROLE_SYSTEM_GRAPHIC
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-symbol
|
UIA
|
property
|
ControlType
|
is
|
Image
|
graphics-symbol on SVG element
if given
<svg xmlns="http://www.w3.org/2000/svg">
<g id="test" role="graphics-symbol" aria-label="lightbulb">
<circle r="10" />
</g>
</svg>
then expose the element with id of 'test' with the platform role mappings for graphics-symbol
element test
|
ATK
|
property
|
role
|
is
|
ROLE_IMAGE
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-symbol
|
AXAPI
|
property
|
AXRole
|
is
|
AXImage
|
property
|
AXSubrole
|
is
|
<nil>
|
property
|
AXRoleDescription
|
is
|
'image'
|
IAccessible2
|
property
|
role
|
is
|
ROLE_SYSTEM_GRAPHIC
|
property
|
objectAttributes
|
contains
|
xml-roles:graphics-symbol
|
UIA
|
property
|
ControlType
|
is
|
Image
|