<!doctype html>
<html>
  <head>
    <title>doc-credits</title>
    <link rel="stylesheet" href="/wai-aria/scripts/manual.css">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script src="/wai-aria/scripts/ATTAcomm.js"></script>
    <script>
    setup({explicit_timeout: true, explicit_done: true });

    var theTest = new ATTAcomm(
    {
   "steps" : [
      {
         "element" : "test",
         "test" : {
            "ATK" : [
               [
                  "property",
                  "role",
                  "is",
                  "ROLE_LANDMARK"
               ],
               [
                  "property",
                  "objectAttributes",
                  "contains",
                  "xml-roles:doc-credits"
               ]
            ],
            "AXAPI" : [
               [
                  "property",
                  "AXRole",
                  "is",
                  "AXGroup"
               ],
               [
                  "property",
                  "AXSubrole",
                  "is",
                  "AXLandmarkRegion"
               ],
               [
                  "property",
                  "AXRoleDescription",
                  "is",
                  "region"
               ]
            ],
            "IAccessible2" : [
               [
                  "property",
                  "objectAttributes",
                  "contains",
                  "xml-roles:doc-credits"
               ],
               [
                  "property",
                  "role",
                  "is",
                  "IA2_ROLE_LANDMARK"
               ]
            ],
            "UIA" : [
               [
                  "property",
                  "ControlType",
                  "is",
                  "Text"
               ],
               [
                  "property",
                  "LocalizedControlType",
                  "is",
                  "credits"
               ],
               [
                  "property",
                  "landmarkType",
                  "is",
                  "Custom"
               ],
               [
                  "property",
                  "LocalizedLandmarkType",
                  "is",
                  "credits"
               ]
            ]
         },
         "title" : "step 1",
         "type" : "test"
      }
   ],
   "title" : "doc-credits"
}

    ) ;
    </script>
  </head>
  <body>
  <p>This test examines the ARIA properties for doc-credits.</p>
    <div role="doc-credits" id="test">Text</div>

  <div id="manualMode"></div>
  <div id="log"></div>
  <div id="ATTAmessages"></div>
  </body>
</html>

