Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/accessible/tests/mochitest/states/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 28 kB image not shown  

Quelle  test_aria.html   Sprache: HTML

 
 products/Sources/formale Sprachen/C/Firefox/accessible/tests/mochitest/states/test_aria.html


<html>

<head>
  <title>ARIA based nsIAccessible states testing</title>

  <link rel="stylesheet" type="text/css"
        href="chrome://mochikit/content/tests/SimpleTest/test.css" />

  <style type="text/css">
    .offscreen {
      position: absolute;
      left: -5000px;
      top: -5000px;
      height: 100px;
      width: 100px;
    }
  </style>

  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>

  <script type="application/javascript"
          src="../common.js"></script>
  <script type="application/javascript"
          src="../role.js"></script>
  <script type="application/javascript"
          src="../states.js"></script>

  <script type="application/javascript">
    function testAriaDisabledTree(aAccOrElmOrID) {
      // test accessible and its subtree for propagated state.
      var acc = getAccessible(aAccOrElmOrID);
      if (!acc)
        return;

      var [state /* extraState */] = getStates(aAccOrElmOrID);
      if (state & STATE_UNAVAILABLE) {
        var role = getRole(acc);
        if (role != ROLE_GROUPING) {
          testStates(acc, STATE_FOCUSABLE);
        }
      }

      // Iterate over its children to see if the state got propagated.
      var children = null;
      try {
        children = acc.children;
      } catch (e) {}
      ok(children, "Could not get children for " + aAccOrElmOrID + "!");

      if (children) {
        for (var i = 0; i < children.length; i++) {
          var childAcc = children.queryElementAt(i, nsIAccessible);
          testAriaDisabledTree(childAcc);
        }
      }
    }

    function doTest() {
      // aria_autocomplete
      testStates("textbox_autocomplete_inline", 0, EXT_STATE_SUPPORTS_AUTOCOMPLETION);
      testStates("textbox_autocomplete_list", STATE_HASPOPUP, EXT_STATE_SUPPORTS_AUTOCOMPLETION);
      testStates("textbox_autocomplete_both", STATE_HASPOPUP, EXT_STATE_SUPPORTS_AUTOCOMPLETION);
      testStates("combobox_autocomplete_inline", STATE_HASPOPUP, EXT_STATE_SUPPORTS_AUTOCOMPLETION);
      testStates("combobox_autocomplete_list", STATE_HASPOPUP, EXT_STATE_SUPPORTS_AUTOCOMPLETION);
      testStates("combobox_autocomplete_both", STATE_HASPOPUP, EXT_STATE_SUPPORTS_AUTOCOMPLETION);

      testStates("htmltext_autocomplete_list", STATE_HASPOPUP, EXT_STATE_SUPPORTS_AUTOCOMPLETION);
      testStates("htmltextarea_autocomplete_list", STATE_HASPOPUP, EXT_STATE_SUPPORTS_AUTOCOMPLETION);

      // aria-busy
      testStates("textbox_busy_false", 0, 0, STATE_BUSY);
      testStates("textbox_busy_true", STATE_BUSY);
      testStates("textbox_busy_error", STATE_INVALID);

      // aria-expanded
      testStates("combobox", STATE_COLLAPSED);
      testStates("combobox_expanded", STATE_EXPANDED);

      // tri-state checkbox
      var checkboxElem = getNode("check1");
      if (checkboxElem) {
        testStates(checkboxElem, STATE_CHECKED);
        checkboxElem.checked = false;
        testStates(checkboxElem, 0, 0, STATE_CHECKED);
        checkboxElem.indeterminate = true;
        testStates(checkboxElem, STATE_MIXED, 0);
      }

      // aria-checked
      testStates("aria_checked_checkbox", STATE_CHECKED);
      testStates("aria_mixed_checkbox", STATE_MIXED);
      testStates("aria_checked_switch", STATE_CHECKED);
      testStates("aria_mixed_switch", 0, 0, STATE_MIXED); // unsupported
      testStates("aria_mixed_switch", 0, 0, STATE_CHECKED); // not checked due to being unsupported

      // test disabled group and all its descendants to see if they are
      // disabled, too. See bug 429285.
      testAriaDisabledTree("group");

      // aria-modal
      testStates("aria_modal", 0, EXT_STATE_MODAL);
      testStates("aria_modal_false", 0, 0, 0, EXT_STATE_MODAL);

      // aria-multiline
      testStates("aria_multiline_textbox", 0, EXT_STATE_MULTI_LINE);

      // aria-multiselectable
      testStates("aria_multiselectable_listbox",
                 STATE_MULTISELECTABLE | STATE_EXTSELECTABLE);
      testStates("aria_multiselectable_tablist",
                 STATE_MULTISELECTABLE | STATE_EXTSELECTABLE);

      // aria-pressed
      testStates("aria_pressed_button", STATE_PRESSED, 0, STATE_CHECKABLE);
      testStates("aria_pressed_native_button", STATE_PRESSED, 0, STATE_CHECKABLE);

      // aria-readonly
      testStates("aria_readonly_textbox", STATE_READONLY);

      // readonly on grid and gridcell
      testStates("aria_grid_default", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_grid_default_colheader_readonly", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_grid_default_colheader_inherited", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_grid_default_rowheader_readonly", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_grid_default_rowheader_inherited", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_grid_default_cell_readonly", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_grid_default_cell_inherited", 0, 0,
                 STATE_READONLY, 0);

      testStates("aria_grid_readonly", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_grid_readonly_colheader_editable", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_grid_readonly_colheader_inherited", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_grid_readonly_rowheader_editable", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_grid_readonly_rowheader_inherited", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_grid_readonly_cell_editable", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_grid_readonly_cell_inherited", STATE_READONLY, 0,
                 0, 0);

      // readonly on treegrid and gridcell
      testStates("aria_treegrid_default", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_treegrid_default_colheader_readonly", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_treegrid_default_colheader_inherited", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_treegrid_default_rowheader_readonly", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_treegrid_default_rowheader_inherited", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_treegrid_default_cell_readonly", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_treegrid_default_cell_inherited", 0, 0,
                 STATE_READONLY, 0);

      testStates("aria_treegrid_readonly", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_treegrid_readonly_colheader_editable", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_treegrid_readonly_colheader_inherited", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_treegrid_readonly_rowheader_editable", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_treegrid_readonly_rowheader_inherited", STATE_READONLY, 0,
                 0, 0);
      testStates("aria_treegrid_readonly_cell_editable", 0, 0,
                 STATE_READONLY, 0);
      testStates("aria_treegrid_readonly_cell_inherited", STATE_READONLY, 0,
                 0, 0);

      // aria-readonly on directory
      testStates("aria_directory", STATE_READONLY);

      // aria-selectable
      testStates("aria_selectable_listitem", STATE_SELECTABLE | STATE_SELECTED);

      // active state caused by aria-activedescendant
      testStates("as_item1", 0, EXT_STATE_ACTIVE);
      testStates("as_item2", 0, 0, 0, EXT_STATE_ACTIVE);

      // universal ARIA properties inherited from file input control
      var fileBrowseButton = getAccessible("fileinput");
      testStates(fileBrowseButton,
                 STATE_BUSY | STATE_UNAVAILABLE | STATE_REQUIRED | STATE_HASPOPUP | STATE_INVALID);

      // offscreen test
      testStates("aria_offscreen_textbox", STATE_OFFSCREEN);

      //
      // This section tests aria roles on links/anchors for underlying
      // HTMLLinkAccessible creation. (see closed bug 494807)
      //

      // strong roles
      testStates("aria_menuitem_link", 0, 0, STATE_LINKED);
      testStates("aria_button_link", 0, 0, STATE_LINKED);
      testStates("aria_checkbox_link", 0, 0, STATE_LINKED);

      // strong landmark
      testStates("aria_application_link", 0, 0, STATE_LINKED);
      testStates("aria_application_anchor", 0, 0, STATE_SELECTABLE);

      // strange cases
      testStates("aria_link_link", STATE_LINKED);

      // some landmarks that break accessibility for these native elements
      // Note that these are illegal uses by web authors as per WAI-ARIA in HTML
      testStates("aria_main_link", 0, 0, STATE_LINKED);
      testStates("aria_navigation_link", 0, 0, STATE_LINKED);
      testStates("aria_main_anchor", 0, 0, STATE_SELECTABLE);
      testStates("aria_navigation_anchor", 0, 0, STATE_SELECTABLE);

      // aria-orientation
      testStates("aria_combobox", 0, 0, 0, EXT_STATE_HORIZONTAL | EXT_STATE_VERTICAL);
      testStates("aria_hcombobox", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vcombobox", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_listbox", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_hlistbox", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vlistbox", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_menu", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_hmenu", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vmenu", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_menubar", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_hmenubar", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vmenubar", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_radiogroup", 0, 0, 0, EXT_STATE_HORIZONTAL | EXT_STATE_VERTICAL);
      testStates("aria_hradiogroup", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vradiogroup", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_scrollbar", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_hscrollbar", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vscrollbar", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_separator", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_hseparator", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vseparator", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_slider", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_hslider", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vslider", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_tablist", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_htablist", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vtablist", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_toolbar", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_htoolbar", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vtoolbar", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_tree", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_htree", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vtree", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);
      testStates("aria_treegrid", 0, 0, 0, EXT_STATE_HORIZONTAL | EXT_STATE_VERTICAL);
      testStates("aria_htreegrid", 0, EXT_STATE_HORIZONTAL, 0, EXT_STATE_VERTICAL);
      testStates("aria_vtreegrid", 0, EXT_STATE_VERTICAL, 0, EXT_STATE_HORIZONTAL);

      // indeterminate ARIA progressbars (no aria-valuenow or aria-valuetext attribute)
      // should expose mixed state
      testStates("aria_progressbar", STATE_MIXED);
      testStates("aria_progressbar_valuenow", 0, 0, STATE_MIXED);
      testStates("aria_progressbar_valuetext", 0, 0, STATE_MIXED);

      // aria-current
      testStates("current_page_1", 0, EXT_STATE_CURRENT);
      testStates("page_2", 0, 0, EXT_STATE_CURRENT);
      testStates("page_3", 0, 0, EXT_STATE_CURRENT);
      testStates("page_4", 0, 0, EXT_STATE_CURRENT);
      testStates("current_foo", 0, EXT_STATE_CURRENT);

      testStates("aria_listbox", STATE_FOCUSABLE);
      testStates("aria_grid", STATE_FOCUSABLE);
      testStates("aria_tree", STATE_FOCUSABLE);
      testStates("aria_treegrid", STATE_FOCUSABLE);
      testStates("aria_listbox_disabled", 0, 0, STATE_FOCUSABLE);
      testStates("aria_grid_disabled", 0, 0, STATE_FOCUSABLE);
      testStates("aria_tree_disabled", 0, 0, STATE_FOCUSABLE);
      testStates("aria_treegrid_disabled", 0, 0, STATE_FOCUSABLE);
      SimpleTest.finish();
    }

    SimpleTest.waitForExplicitFinish();
    addA11yLoadEvent(doTest);
  </script>

</head>

<body>

  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=457219"
     title="nsIAccessible states testing">
    Mozilla Bug 457219
  </a><br />
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=429285"
     title="Propagate aria-disabled to descendants">
    Mozilla Bug 429285
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=457226"
     title="Mochitests for ARIA states">
    Mozilla Bug 457226
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=499653"
     title="Unify ARIA state attributes mapping rules">
    Mozilla Bug 499653
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=681674"
     title="aria-autocomplete not supported on standard form text input controls">
    Mozilla Bug 681674
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=681674"
     title="aria-orientation should be applied to separator and slider roles">
    Mozilla Bug 681674
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=689847"
     title="Expose active state on current item of selectable widgets">
    Mozilla Bug 689847
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=699017"
     title="File input control should be propogate states to descendants">
    Mozilla Bug 699017
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=690199"
     title="ARIA select widget should expose focusable state regardless the way they manage its children">
    Mozilla Bug 690199
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=740851"
     title="ARIA undetermined progressmeters should expose mixed state">
    Mozilla Bug 740851
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=762876"
     title="fix default horizontal / vertical state of role=scrollbar and ensure only one of horizontal / vertical states is exposed">
    Mozilla Bug 762876
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=892091"
     title="ARIA treegrid should be editable by default">
    Bug 892091
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=835121"
     title="ARIA grid should be editable by default">
    Mozilla Bug 835121
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=989958"
     title="Pressed state is not exposed on a button element with aria-pressed attribute">
    Mozilla Bug 989958
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=1136563"
     title="Support ARIA 1.1 switch role">
    Mozilla Bug 1136563
  </a>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=1355921"
     title="Elements with a defined, non-false value for aria-current should expose ATK_STATE_ACTIVE">
    Mozilla Bug 1355921
  </a>

  <p id="display"></p>
  <div id="content" style="display: none"></div>
  <pre id="test">
  </pre>

  <div id="textbox_autocomplete_inline" role="textbox" aria-autocomplete="inline"></div>
  <div id="textbox_autocomplete_list" role="textbox" aria-autocomplete="list"></div>
  <div id="textbox_autocomplete_both" role="textbox" aria-autocomplete="both"></div>
  <div id="combobox_autocomplete_inline" role="combobox" aria-autocomplete="inline"></div>
  <div id="combobox_autocomplete_list" role="combobox" aria-autocomplete="list"></div>
  <div id="combobox_autocomplete_both" role="combobox" aria-autocomplete="both"></div>

  <input id="htmltext_autocomplete_list" type="text" aria-autocomplete="list" />
  <textarea id="htmltextarea_autocomplete_list" aria-autocomplete="list"></textarea>

  <div id="textbox_busy_false" role="textbox" aria-busy="false"></div>
  <div id="textbox_busy_true" role="textbox" aria-busy="true"></div>
  <div id="textbox_busy_error" role="textbox" aria-busy="error"></div>

  <div id="combobox" role="combobox">combobox</div>
  <div id="combobox_expanded" role="combobox"
       aria-expanded="true">combobox</div>

  <input type="checkbox" id="check1" value="I agree" checked="true"/>

  <div id="aria_checked_checkbox" role="checkbox" aria-checked="true">
    I agree
  </div>

  <div id="aria_mixed_checkbox" role="checkbox" aria-checked="mixed">
    I might agree
  </div>

  <div id="aria_checked_switch" role="switch" aria-checked="true">
    I am switched on
  </div>

  <div id="aria_mixed_switch" role="switch" aria-checked="mixed">
    I am unsupported
  </div>

  <div id="aria_modal" aria-modal="true">modal stuff</div>
  <div id="aria_modal_false" aria-modal="false">non modal stuff</div>div>
  <div id="aria_multiline_textbox" role="textbox" aria-multiline="true"></div>
  <div id="aria_multiselectable_listbox" role="listbox" aria-multiselectable="true"></div>
  <div id="aria_multiselectable_tablist" role="tablist" aria-multiselectable="true"></div>
  <div id="aria_pressed_button" role="button" aria-pressed="true">Button</div>
  <button id="aria_pressed_native_button" aria-pressed="true">Button</button>

  <div id="aria_readonly_textbox"
       role="textbox" aria-readonly="true">This text should be readonly</div>

  <div id="aria_grid_default" role="grid">
    <div role="row">
      <div id="aria_grid_default_colheader_readonly"
           role="columnheader" aria-readonly="true">colheader1</div>
      <div id="aria_grid_default_colheader_inherited"
           role="columnheader">colheader2</div>
    </div>
    <div role="row">
      <div id="aria_grid_default_rowheader_readonly"
           role="rowheader" aria-readonly="true">rowheader1</div>
      <div id="aria_grid_default_rowheader_inherited"
           role="rowheader">rowheader2</div>
    </div>
    <div role="row">
      <div id="aria_grid_default_cell_readonly"
           role="gridcell" aria-readonly="true">gridcell1</div>
      <div id="aria_grid_default_cell_inherited"
           role="gridcell">gridcell2</div>
    </div>
  </div>

  <div id="aria_grid_readonly" role="grid" aria-readonly="true">
    <div role="row">
      <div id="aria_grid_readonly_colheader_editable"
           role="columnheader" aria-readonly="false">colheader1</div>
      <div id="aria_grid_readonly_colheader_inherited"
           role="columnheader">colheader2</div>
    </div>
    <div role="row">
      <div id="aria_grid_readonly_rowheader_editable"
           role="rowheader" aria-readonly="false">rowheader1</div>
      <div id="aria_grid_readonly_rowheader_inherited"
           role="rowheader">rowheader2</div>
    </div>
    <div role="row">
      <div id="aria_grid_readonly_cell_editable"
           role="gridcell" aria-readonly="false">gridcell1</div>
      <div id="aria_grid_readonly_cell_inherited"
           role="gridcell">gridcell2</div>
    </div>
  </div>

  <div id="aria_treegrid_default" role="grid">
    <div role="row">
      <div id="aria_treegrid_default_colheader_readonly"
           role="columnheader" aria-readonly="true">colheader1</div>
      <div id="aria_treegrid_default_colheader_inherited"
           role="columnheader">colheader2</div>
    </div>
    <div role="row">
      <div id="aria_treegrid_default_rowheader_readonly"
           role="rowheader" aria-readonly="true">rowheader1</div>
      <div id="aria_treegrid_default_rowheader_inherited"
           role="rowheader">rowheader2</div>
    </div>
    <div role="row">
      <div id="aria_treegrid_default_cell_readonly"
           role="gridcell" aria-readonly="true">gridcell1</div>
      <div id="aria_treegrid_default_cell_inherited"
           role="gridcell">gridcell2</div>
    </div>
  </div>

  <div id="aria_treegrid_readonly" role="grid" aria-readonly="true">
    <div role="row">
      <div id="aria_treegrid_readonly_colheader_editable"
           role="columnheader" aria-readonly="false">colheader1</div>
      <div id="aria_treegrid_readonly_colheader_inherited"
           role="columnheader">colheader2</div>
    </div>
    <div role="row">
      <div id="aria_treegrid_readonly_rowheader_editable"
           role="rowheader" aria-readonly="false">rowheader1</div>
      <div id="aria_treegrid_readonly_rowheader_inherited"
           role="rowheader">rowheader2</div>
    </div>
    <div role="row">
      <div id="aria_treegrid_readonly_cell_editable"
           role="gridcell" aria-readonly="false">gridcell1</div>
      <div id="aria_treegrid_readonly_cell_inherited"
           role="gridcell">gridcell2</div>
    </div>
  </div>

  <div role="listbox">
    <div id="aria_selectable_listitem" role="option" aria-selected="true">Item1</div>
  </div>

  <!-- Test that aria-disabled state gets propagated to all descendants -->
  <div id="group" role="group" aria-disabled="true">
    <button>hi</button>
    <div tabindex="0" role="listbox" aria-activedescendant="item1"
         aria-owns="item5">
      <div role="option" id="item1">Item 1</div>
      <div role="option" id="item2">Item 2</div>
      <div role="option" id="item3">Item 3</div>
      <div role="option" id="item4">Item 4</div>
    </div>
    <div role="slider" tabindex="0">A slider</div>
  </div>
  <div role="option" id="item5">Item 5</div>

  <!-- Test active state -->
  <div id="as_listbox" tabindex="0" role="listbox"
       aria-activedescendant="as_item1">
    <div role="option" id="as_item1">Item 1</div>
    <div role="option" id="as_item2">Item 2</div>
  </div>

  <!-- universal ARIA properties should be inherited by text field of file input -->
  <input type="file" id="fileinput"
         aria-busy="true"
         aria-disabled="true"
         aria-required="true"
         aria-haspopup="true"
         aria-invalid="true">

  <div id="offscreen_log" role="log" class="offscreen">
    <div id="aria_offscreen_textbox" role="textbox" aria-readonly="true">This text should be offscreen</div>
  </div>

  <a id="aria_menuitem_link" role="menuitem" href="foo">menuitem</a>
  <a id="aria_button_link" role="button" href="foo">button</a>
  <a id="aria_checkbox_link" role="checkbox" href="foo">checkbox</a>

  <!-- strange edge case: please don't do this in the wild -->
  <a id="aria_link_link" role="link" href="foo">link</a>

  <!-- landmarks: links -->
  <a id="aria_application_link" role="application" href="foo">app</a>
  <a id="aria_main_link" role="main" href="foo">main</a>
  <a id="aria_navigation_link" role="navigation" href="foo">nav</a>

  <!-- landmarks: anchors -->
  <a id="aria_application_anchor" role="application" name="app_anchor">app</a>
  <a id="aria_main_anchor" role="main" name="main_anchor">main</a>
  <a id="aria_navigation_anchor" role="navigation" name="nav_anchor">nav</a>

  <!-- aria-orientation -->
  <div id="aria_combobox" role="combobox">combobox</div>
  <div id="aria_hcombobox" role="combobox" aria-orientation="horizontal">horizontal combobox</div>
  <div id="aria_vcombobox" role="combobox" aria-orientation="vertical">vertical combobox</div>
  <div id="aria_listbox" role="listbox">listbox</div>
  <div id="aria_hlistbox" role="listbox" aria-orientation="horizontal">horizontal listbox</div>
  <div id="aria_vlistbox" role="listbox" aria-orientation="vertical">vertical listbox</div>
  <div id="aria_menu" role="menu">menu</div>
  <div id="aria_hmenu" role="menu" aria-orientation="horizontal">horizontal menu</div>
  <div id="aria_vmenu" role="menu" aria-orientation="vertical">vertical menu</div>
  <div id="aria_menubar" role="menubar">menubar</div>
  <div id="aria_hmenubar" role="menubar" aria-orientation="horizontal">horizontal menubar</div>
  <div id="aria_vmenubar" role="menubar" aria-orientation="vertical">vertical menubar</div>
  <div id="aria_radiogroup" role="radiogroup">radiogroup</div>
  <div id="aria_hradiogroup" role="radiogroup" aria-orientation="horizontal">horizontal radiogroup</div>
  <div id="aria_vradiogroup" role="radiogroup" aria-orientation="vertical">vertical radiogroup</div>
  <div id="aria_scrollbar" role="scrollbar">scrollbar</div>
  <div id="aria_hscrollbar" role="scrollbar" aria-orientation="horizontal">horizontal scrollbar</div>
  <div id="aria_vscrollbar" role="scrollbar" aria-orientation="vertical">vertical scrollbar</div>
  <div id="aria_separator" role="separator">separator</div>
  <div id="aria_hseparator" role="separator" aria-orientation="horizontal">horizontal separator</div>
  <div id="aria_vseparator" role="separator" aria-orientation="vertical">vertical separator</div>
  <div id="aria_slider" role="slider">slider</div>
  <div id="aria_hslider" role="slider" aria-orientation="horizontal">horizontal slider</div>
  <div id="aria_vslider" role="slider" aria-orientation="vertical">vertical slider</div>

  <div id="aria_tablist" role="tablist">tablist</div>
  <div id="aria_htablist" role="tablist" aria-orientation="horizontal">horizontal tablist</div>
  <div id="aria_vtablist" role="tablist" aria-orientation="vertical">vertical tablist</div>
  <div id="aria_toolbar" role="toolbar">toolbar</div>
  <div id="aria_htoolbar" role="toolbar" aria-orientation="horizontal">horizontal toolbar</div>
  <div id="aria_vtoolbar" role="toolbar" aria-orientation="vertical">vertical toolbar</div>
  <div id="aria_tree" role="tree">tree</div>
  <div id="aria_htree" role="tree" aria-orientation="horizontal">horizontal tree</div>
  <div id="aria_vtree" role="tree" aria-orientation="vertical">vertical tree</div>
  <div id="aria_treegrid" role="treegrid">treegrid</div>
  <div id="aria_htreegrid" role="treegrid" aria-orientation="horizontal">horizontal treegrid</div>
  <div id="aria_vtreegrid" role="treegrid" aria-orientation="vertical">vertical treegrid</div>

  <!-- indeterminate ARIA progressbars should expose mixed state -->
  <div id="aria_progressbar" role="progressbar"></div>
  <div id="aria_progressbar_valuenow" role="progressbar" aria-valuenow="1"></div>
  <div id="aria_progressbar_valuetext" role="progressbar" aria-valuetext="value"></div>

  <!-- ARIA select widget should expose focusable state regardless the way they manage its children -->
  <div id="aria_listbox" role="listbox">
    <div role="option" tabindex="0">A</div>
    <div role="option" tabindex="0">a</div>
  </div>
  <div id="aria_grid" role="grid">
    <div role="row"><div role="gridcell" tabindex="0">B</div></div></div>
    <div role="row"><div role="gridcell" tabindex="0">b</div></div></div>
  <div id="aria_tree" role="tree">
    <div role="treeitem" tabindex="0">C</div>
    <div role="treeitem" tabindex="0">c</div>
  </div>
  <div id="aria_treegrid" role="treegrid">
    <div role="row"><div role="gridcell" tabindex="0">D</div></div>
    <div role="row"><div role="gridcell" tabindex="0">d</div></div>
  </div>
  <div id="aria_listbox_disabled" role="listbox" aria-disabled="true">
    <div role="option">E</div>
    <div role="option">e</div>
  </div>
  <div id="aria_grid_disabled" role="grid" aria-disabled="true">
    <div role="row"><div role="gridcell">F</div></div>
    <div role="row"><div role="gridcell">f</div></div>
  </div>
  <div id="aria_tree_disabled" role="tree" aria-disabled="true">
    <div role="treeitem">G</div>
    <div role="treeitem">g</div>
  </div>
  <div id="aria_treegrid_disabled" role="treegrid" aria-disabled="true">
    <div role="row"><div role="gridcell">H</div></div>
    <div role="row"><div role="gridcell">h</div></div>
  </div>

  <!-- Test that directory is readonly -->
  <div id="aria_directory" role="directory"></div>

  <!-- aria-current -->
  <div id="current_page_1" role="link" aria-current="page">1</div>
  <div id="page_2" role="link" aria-current="false">2</div>
  <div id="page_3" role="link">3</div>
  <div id="page_4" role="link" aria-current="">4</div>
  <div id="current_foo" aria-current="foo">foo</div>
</body>
</html>

Messung V0.5
C=97 H=97 G=96

¤ Dauer der Verarbeitung: 0.7 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.