ARIA 1.1 Testable Statements JSON

From W3C Wiki

Structure of JSON

The JSON structure is an array of tests. Each test has the parts identified below and each part is explained in their sections.

testing
element
comment
expected
files

testing

Testing is a group level comment pulled from the level 2 header.
example "ARIA role Testable Statements"

element

The element type tested

This is found by identifying the element with id='test'

example div

comment

The comment that identifies the test

The comment comes from the line starting with  ; //
example div application div child aria-activedescendant

expected

The expected results.

From the test's wiki table
rowspans make an object with multiple attributes
a row with lots of columns will be nested object/tags
example
              { "MSAA":"ROLE_SYSTEM_TABLE",
                "IAccessible2": {"object": { "xml-roles":"table" },"IAccessibleTable2": "SHOWN"},
                "UIA": {"Control Type":"Table","grid pattern TODO": "SHOWN","table pattern TODO": "SHOWN"},
                "ATK": {"ROLE_TABLE": "SHOWN","object": { "xml-roles":"table" },"Table interface TODO": "SHOWN"},
                "AXAPI": {"AXRole":"AXTable","AXSubrole":"<nil>","AXRoleDescription":"grid"}
              }
 

files

files is an array of test files.

ARIA tests using HTML elements will have one test
test type: html
Tests testing SVG will have two tests
Test with inline SVG in a HTML file
test type: html
Test with native SVG file
test type: svg

type

Type of the test file. Currently the known types are:

html
svg
example html

test

The test file.

A fully specified file.
The comment is put in the head title element.
example
[
  { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div application, div child, aria-activedescendant
 </title>
   </head>
   <body>
 	  <div id='test' role='application' aria-activedescendant='bob'>
     <div id='bob' tabindex='0' class='bobber'>Hello world</div>
  </div>
   </body>
 </html>"
 }
 ]

script

File:Aria11wiki.zip Perl script for producing JSON from the wiki testable statements

File:Aria11test.zip JSON file extracted from the roles section of the wiki on Sept 1, 2016.

Steps to running the script

Go to the wiki page with testable statements
Go into edit mode (Edit)
Copy the entire contents and save it as a file
Find # main program in the perl script
Change my $wiki_markup_filename assignment to your file
Change $test_dir and $json_filename to produce the output file's name
To run HTML make sure my $issvg = 0;
To run SVG make sure my $issvg = 1;
Run the perl script (use a modern version of perl 5.2x). The version I use is 5.22.0 on windows.
Script will print information on the console, if the last thing printed is program exited normally things went well. Other things the script may print out are the number of tests and the breakdown by grouping for the tests.

Stuff the script uses and skips in the wiki

The script reads the wiki markup sequentially.
When the script reads a wiki table it populates a test.
A test consists of:
The last level 2 header
The last comment (starts with a semicolon whitespace then //)
The last testable statement (everything inside a pre tag)
The wiki table

Sections without a wiki table don't produce a test.

JSON Example

JSON from ARIA 1.1 roles.

[
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"div application div child aria-activedescendant",
  "expected": { "MSAA":"ROLE_SYSTEM_APPLICATION",
                "UIA": {"Control Type":"Pane","Localized Control Type":"application"},                ,
                "ATK":"ROLE_EMBEDDED",
                "AXAPI": {"AXRole":"AXGroup","AXSubrole":"AXWebApplication","AXRoleDescription":"web application","array": { "AXSelectedRows": { "pointer":"id='bob'"} }}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div application, div child, aria-activedescendant
 </title>
   </head>
   <body>
 	  <div id='test' role='application' aria-activedescendant='bob'>
     <div id='bob' tabindex='0' class='bobber'>Hello world</div>
  </div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"div article aria-posinset aria-setsize",
  "expected": { "MSAA": {"role":"ROLE_SYSTEM_DOCUMENT","STATE_SYSTEM_READONLY":"<shown>"},
                "IAccessible2": {"object": {"xml-roles":"article","posinset":"4","setsize":"8"}"groupPosition()": {"similarItemsInGroup":"8","positionInGroup":"4"}},
                "UIA": {"control type":"Group","localize control type":"article", "AriaProperties": {"posinset":"4","setsize":"8"}},
                "ATK": {"role":"ROLE_ARTICLE", "object": {"xml-roles":"article","posinset":"4","setsize":"8"}},
                "AXAPI": {"AXRole":"AXGroup","AXSubrole":"AXDocumentArticle","AXDescription":"article","AXARIAPosInSet":"4","AXARIASetSize":"8"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div article, aria-posinset, aria-setsize
 </title>
   </head>
   <body>
 	  <div id=\"test\" role=\"article\" aria-posinset=\"4\" aria-setsize=\"8\">test cell</div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"span",
  "comment":"aria-colindex aria-colcount missing from core AAM",
  "expected": { ,
                "MSAA": { "role":"ROLE_SYSTEM_CELL" },
                "UIA": {"Control Type":"TableItem","Selection pattern TODO": "SHOWN","NOT":"invoke pattern TODO"},
                "ATK": {"role":"ROLE_TABLE_CELL","TableCell Interface": "SHOWN"},
                "AXAPI": {"AXRole":"AXCell","AXSubrole":"<nil>","AXRoleDescription":"'cell'"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  aria-colindex, aria-colcount missing from core AAM
 </title>
   </head>
   <body>
 	  <div role=\"table\">
    <div role=\"row\">
       <span id=\"test\" role=\"cell\" aria-colindex=\"4\" aria-colcount=\"8\">test cell</span>
    </div>
  </div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"div checkbox aria-checked false",
  "expected": { "MSAA": {"ROLE_SYSTEM_CHECKBUTTON": "SHOWN","NOT":"STATE_SYSTEM_CHECKED"},                ,
                "IAccessibile2": { "object": { "checkable":"true"} },
                "UIA": {"Control Type":"Checkbox","Toggle": { "ToggleState":"Off" }},
                "ATK": {"ROLE_CHECK_BOX": "SHOWN","STATE_CHECKABLE": "SHOWN","NOT":"STATE_CHECKED"},
                "AXAPI": {"AXRole":"AXCheckbox","AXSubrole":"<nil>","AXDescription":"check box","AXValue":"0"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div checkbox, aria-checked false
 </title>
   </head>
   <body>
 	  <div id='test' role='checkbox' aria-checked='false' class='chkbox'>I like cars</div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"div checkbox aria-checked true",
  "expected": { "MSAA": {"ROLE_SYSTEM_CHECKBUTTON": "SHOWN","STATE_SYSTEM_CHECKED": "SHOWN"},                ,
                "IAccessibile2": { "object": { "checkable":"true"} },
                "UIA": {"Control Type":"Checkbox","Toggle": { "ToggleState":"On" }},
                "ATK": {"ROLE_CHECK_BOX": "SHOWN","STATE_CHECKABLE": "SHOWN","STATE_CHECKED": "SHOWN"},
                "AXAPI": {"AXRole":"AXCheckbox","AXSubrole":"<nil>","AXDescription":"check box","AXValue":"1"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div checkbox, aria-checked true
 </title>
   </head>
   <body>
 	  <div id='test' role='checkbox' aria-checked='true' class='chkbox'>I like cars</div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"missing aria-colcount and aria-rowcount from core AAM",
  "expected": { ,
                "MSAA":"ROLE_SYSTEM_TABLE",
                "IAccessible2":"IAccessibleTable2",
                "UIA": {"DataGrid": "SHOWN","Selection pattern TODO": "SHOWN"},
                "ATK": {"ROLE_TABLE": "SHOWN","object": { "xml-roles":"grid" },"Table interface TODO": "SHOWN","Selection": "SHOWN"},
                "AXAPI": {"AXRole":"AXTable","AXSubrole":"<nil>","AXDescription":"grid"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  missing aria-colcount and aria-rowcount from core AAM
 </title>
   </head>
   <body>
 	  <div role='grid' id='test' aria-rowcount='3' aria-colcount='2'>
   <div role='row'>
      <span role='gridcell'> 
        <button>hello</button>
     </span>
   </div>
  </div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"log implicit aria-live polite",
  "expected": { "IAccessible2": {"object": {"xml-roles":"log","container-live":"polite","live":"polite","container-live-role":"log"}},
                "UIA": {"Control Type":"Group","Localized Control Type":"log","LiveSettingProperty":"Polite"},
                "ATK": {"ROLE_LOG": "SHOWN", "object": {"xml-roles":"log","container-live":"polite","live":"polite","container-live-role":"log"}},
                "AXAPI": {"AXRole":"AXGroup","AXSubrole":"AXApplicationLog","AXRoleDescription":"log"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  log, implicit aria-live polite
 </title>
   </head>
   <body>
 	  <div id='test' role='log' > </div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"main",
  "expected": { "Iaccessible2": {"IA2_ROLE_LANDMARK": "SHOWN","object": { "xml-roles":"main" }},
                "UIA": {"Control Type":"Group","Localized Control Type":"main","Landmark Type":"Main","Localized Landmark Type":"main"},
                "ATK": {"ROLE_LANDMARK": "SHOWN","object": { "xml-roles":"main" }},
                "AXAPI": {"AXRole":"AXGroup","AXSubrole":"AXLandmarkMain","AXRoleDescription":"main"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  main
 </title>
   </head>
   <body>
 	  <div id='test' role='main'>Hellp world</div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"li",
  "comment":"menuitem aria-posinset aria-setsize",
  "expected": { ,
                "MSAA":"ROLE_SYSTEM_MENUITEM",
                "IAccessible2": {"object": {"posinset":"4","setsize":"8"}"groupPosition()": {"similarItemsInGroup":"8","positionInGroup":"4"}},
                "UIA": {"Control Type":"MenuItem", "AriaProperties": {"posinset":"4","setsize":"8"}},
                "ATK": {"ROLE_MENU_ITEM": "SHOWN", "object": {"posinset":"4","setsize":"8"}},
                "AXAPI": {"AXRole":"AXMenuItem","AXSubrole":"<nil>","AXRoleDescription":"menu item","AXARIAPosInSet":"4","AXARIASetSize":"8"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  menuitem, aria-posinset, aria-setsize
 </title>
   </head>
   <body>
 	  <ul role='menu'>Menu
    <li role='menuitem'> option 1</li>
    <li role='menuitem' id='test' aria-posinset='4' aria-setsize='8'> option 2</li>
    <li role='menuitem'> option 3</li>
  </ul>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"li",
  "comment":"menuitemcheckbox aria-posinset aria-setsize",
  "expected": { ,
                "MSAA": { "OR": { "ROLE_SYSTEM_MENUITEM":"ROLE_SYSTEM_CHECKBUTTON"} },
                "IAccessible2": {"IA2_ROLE_CHECK_MENU_ITEM": "SHOWN", "object": {"checkable":"true","posinset":"4","setsize":"8"}, "groupPosition()": {"similarItemsInGroup":"8","positionInGroup":"4"}},
                "UIA": {"Control Type":"MenuItem","Toggle": { "ToggleState":"On" }, "AriaProperties": {"posinset":"4","setsize":"8"}},
                "ATK": {"ROLE_MENU_ITEM": "SHOWN","STATE_CHECKABLE": "SHOWN","STATE_CHECKED": "SHOWN", "object": {"posinset":"4","setsize":"8"}},
                "AXAPI": {"AXRole":"AXMenuItem","AXSubrole":"<nil>","AXRoleDescription":"menu item","AXValue":"1","AXARIAPosInSet":"4","AXARIASetSize":"8"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  menuitemcheckbox, aria-posinset, aria-setsize
 </title>
   </head>
   <body>
 	  <ul role='menu'>Menu
    <li role='menuitem'> option 1</li>
    <li role='menuitemcheckbox' id='test' aria-posinset='4' aria-setsize='8' 
        class='ckbox' aria-checked='true'>panda doodles</li>
    <li role='menuitem'> option 3</li>
  </ul>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"li",
  "comment":"menuitemradio",
  "expected": { ,
                "MSAA": { "OR": { "ROLE_SYSTEM_RADIOBUTTON":"ROLE_SYSTEM_MENUITEM"} },
                "IAccessibile2": {"IA2_ROLE_RADIO_MENU_ITEM": "SHOWN","object": { "checkable":"true" }},
                "UIA": {"Control Type":"MenuItem","Toggle": { "ToggleState":"Off" },"SelectItem Pattern": "SHOWN"},
                "ATK": {"ROLE_RADIO_MENU_ITEM": "SHOWN","STATE_CHECKABLE": "SHOWN","NOT":"STATE_CHECKED"},
                "AXAPI": {"AXRole":"AXMenuItem","AXSubrole":"<nil>","AXDescription":"menu item","AXMenuItemMarkChar":"<nil>"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  menuitemradio
 </title>
   </head>
   <body>
 	  <ul role='menu'>Menu
    <li role='menuitemradio'> option 1</li>
    <li role='menuitemradio'> option 2</li>
    <li role='menuitemradio'  id='test' > option 3</li>
  </ul>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"div radio role aria-checked false",
  "expected": { "MSAA": {"ROLE_SYSTEM_RADIOBUTTON": "SHOWN","NOT":"STATE_SYSTEM_CHECKED"},
                "IAccessibile2": {"object": {"checkable":"true","posinset":"4","setsize":"8"}"groupPosition()": {"similarItemsInGroup":"8","positionInGroup":"4"}},
                "UIA": {"Control Type":"RadioButton","Toggle": { "ToggleState":"Off" }, "AriaProperties": {"posinset":"4","setsize":"8"}},
                "ATK": {"ROLE_RADIO_BUTTON": "SHOWN","STATE_CHECKABLE": "SHOWN","NOT":"STATE_CHECKED", "object": {"posinset":"4","setsize":"8"}},
                "AXAPI": {"AXRole":"AXRadioButton","AXSubrole":"<nil>","AXDescription":"radio button","AXValue":"0","AXARIAPosInSet":"4","AXARIASetSize":"8"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div, radio role, aria-checked false
 </title>
   </head>
   <body>
 	  <div id='test' role='radio' aria-checked='false' class='radio' aria-posinset='4' aria-setsize='8'>Car</div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"div search",
  "expected": { "IAccessible2": {"IA2_ROLE_LANDMARK": "SHOWN","object": { "xml-roles":"search" }},
                "UIA": {"Control Type":"Group","Localized Control Type":"search","Landmark Type":"Search","Localized Landmark Type":"search"},
                "ATK": {"ROLE_LANDMARK": "SHOWN","object": { "xml-roles":"search" }},
                "AXAPI": {"AXRole":"AXGroup","AXSubrole":"AXLandmarkSearch","AXRoleDescription":"search"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div search
 </title>
   </head>
   <body>
 	  <div id='test' role='search' contenteditable='true'></div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"div searchbox default single line",
  "expected": { ,
                "MSAA":"ROLE_SYSTEM_TEXT",
                "IAccessible2": { "object": { "xml-roles":"search"} },
                "UIA": {"Control Type":"Edit","Localized Control Type":"search box"},
                "ATK": {"ROLE_ENTRY": "SHOWN","STATE_SINGLE_LINE": "SHOWN","EditibleText": "SHOWN"},
                "AXAPI": {"AXRole":"AXTextField","AXSubrole":"AXSearchField","AXRoleDescription":"search text field"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div searchbox, default single line
 </title>
   </head>
   <body>
 	  <div id='test' role='searchbox' contenteditable='true'></div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"div searchbox role search multiline",
  "expected": { ,
                "MSAA":"ROLE_SYSTEM_TEXT",
                "IAccessible2": {"IA2_MULTI_LINE": "SHOWN","NOT":"IA2_SINGLE_LINE","object": { "xml-roles":"search" }},
                "UIA": {"Control Type":"Edit","Localized Control Type":"search box","AriaProperties": { "multiline":"true" }},
                "ATK": {"ROLE_ENTRY": "SHOWN","NOT":"STATE_SINGLE_LINE","STATE_MULTI_LINE": "SHOWN","EditibleText": "SHOWN"},
                "AXAPI": {"AXRole":"AXTextField","AXSubrole":"AXSearchField","AXRoleDescription":"search text field"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div searchbox, role search, multiline
 </title>
   </head>
   <body>
 	  <div id='test' role='searchbox' contenteditable='true' aria-multiline='true'></div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"div status aria-expanded false",
  "expected": { "MSAA": {"ROLE_SYSTEM_STATUSBAR": "SHOWN","STATE_SYSTEM_EXPANDED": "SHOWN"},
                "IAccessible2": {"object": {"container-live":"polite","live":"polite","container-live-role":"status"}},
                "UIA": {"Control Type":"Group","Localized Control Type":"status","LiveSettingProperty":"1","ExpandCollapse": { "ExpandCollapseState":"expanded" }},
                "ATK": {"ROLE_STATUSBAR": "SHOWN", "object": {"container-live":"polite","live":"polite","container-live-role":"status"}, "AXAPI": {"AXRole":"AXGroup","AXSubrole":"AXApplicationStatus","AXRoleDescription":"status","AXExpanded":"YES"}},
,
                "STATE_EXPANDABLE": "SHOWN",
                "STATE_EXPANDED": "SHOWN",

              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div status, aria-expanded false
 </title>
   </head>
   <body>
 	  <div role='status' id='test' aria-expanded='false'> </div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"div switch aria-checked false",
  "expected": { "IAccessibile2": {"IA2_ROLE_TOGGLE_BUTTON": "SHOWN","object": { "xml-roles":"switch" }},
                "UIA": {"Control Type":"Button","Localized Control Type":"toggleswitch","Toggle": { "ToggleState":"Off" }},
                "ATK": {"ROLE_CHECK_BOX": "SHOWN","STATE_CHECKABLE": "SHOWN","NOT":"STATE_CHECKED"},
                "AXAPI": {"AXRole":"AXCheckbox","AXSubrole":"AXSwitch","AXDescription":"switch","AXValue":"0"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div switch, aria-checked false
 </title>
   </head>
   <body>
 	  <div id='test' role='switch' aria-checked='false' class='switch'>power</div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"div tab aria-posinset and aria-setsize",
  "expected": { "MSAA": {"ROLE_SYSTEM_PAGETAB": "SHOWN","STATE_SYSTEM_SELECTED": "SHOWN","STATE_SYSTEM_SELECTABLE": "SHOWN"},
                "IAccessible2": {"object": {"posinset":"3","setsize":"7"}"groupPosition()": {"similarItemsInGroup":"7","positionInGroup":"3"}},
                "UIA": {"Control Type":"TabItem", "AriaProperties": {"posinset":"3","setsize":"7"}, "ATK": {"ROLE_PAGE_TAB": "SHOWN","STATE_SELECTED": "SHOWN","STATE_SELECTABLE": "SHOWN", "object": {"posinset":"3","setsize":"7"}}},
,
                "SelectionItem":"IsSelected",
                "AXAPI": {"AXRole":"AXRadioButton","AXSubrole":"<nil>","AXRoleDescription":"tab","AXARIAPosInSet":"3","AXARIASetSize":"7","AXSelected":"YES"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  div tab, aria-posinset and aria-setsize
 </title>
   </head>
   <body>
 	  <div role='tabpanel'>
    <div role='tab' aria-selected='false'>Hello Mary</div>
    <div role='tab' id='test' aria-selected='true' aria-posinset='3' aria-setsize='7'>Hello Bob</div>
  </div>
   </body>
 </html>"
 }
 ]},
 {
  "testing":"ARIA role Testable Statements",
  "element":"div",
  "comment":"aria-rowcount and aria-colcount not in core AAM",
  "expected": { ,
                "MSAA":"ROLE_SYSTEM_TABLE",
                "IAccessible2": {"object": { "xml-roles":"table" },"IAccessibleTable2": "SHOWN"},
                "UIA": {"Control Type":"Table","grid pattern TODO": "SHOWN","table pattern TODO": "SHOWN"},
                "ATK": {"ROLE_TABLE": "SHOWN","object": { "xml-roles":"table" },"Table interface TODO": "SHOWN"},
                "AXAPI": {"AXRole":"AXTable","AXSubrole":"<nil>","AXRoleDescription":"grid"}
              }
  ,
  "files": [
    { "type":"html", 
    "test":
 "<!DOCTYPE html>
 <html>
   <head>
      <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
      <title>  aria-rowcount and aria-colcount not in core AAM
 </title>
   </head>
   <body>
 	  <div role='table' id='test' aria-rowcount='3' aria-colcount='2'>
    <div role='row'> 
      <span role='cell'>cheese</span>
    </div>
  </div>
   </body>
 </html>"
 }
 ]}
 ]