Graphics ARIA and AAM 1.0 Testable Statements

From W3C Wiki

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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 &amp; 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