Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  test_general.xhtml   Sprache: unbekannt

 
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
                 type="text/css"?>

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        xmlns:html="http://www.w3.org/1999/xhtml"
        title="Accessibility Name Calculating Test.">

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

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

  <script type="application/javascript">
  <![CDATA[
    function doTest()
    {
      // aria-label

      // Simple label provided via ARIA
      testName("btn_simple_aria_label", "I am a button");

      // aria-label and aria-labelledby, expect aria-labelledby
      testName("btn_both_aria_labels", "text I am a button, two");

      //////////////////////////////////////////////////////////////////////////
      // aria-labelledby

      // Single relation. The value of 'aria-labelledby' contains the ID of
      // an element. Gets the name from text node of that element.
      testName("btn_labelledby_text", "text");

      // Multiple relations. The value of 'aria-labelledby' contains the IDs
      // of elements. Gets the name from text nodes of those elements.
      testName("btn_labelledby_texts", "text1 text2");

      // Trick cases. Self and recursive referencing.
      testName("rememberHistoryDays", "Remember 3 days");
      testName("historyDays", "Remember days");
      testName("rememberAfter", "days");

      //////////////////////////////////////////////////////////////////////////
      // Name from subtree (single relation labelled_by).

      // Gets the name from text nodes contained by nested elements.
      testName("btn_labelledby_mixed", "no more text");

      // Gets the name from text nodes and selected item of menulist
      // (other items are ignored).
      testName("btn_labelledby_mixed_menulist",
               "no more text selected item more text");

      // Gets the name from text nodes contained by nested elements, ignores
      // hidden elements (bug 443081).
      testName("btn_labelledby_mixed_hidden_child", "no more text2");

      // Gets the name from hidden text nodes contained by nested elements,
      // (label element is hidden entirely), (bug 443081)
      testName("btn_labelledby_mixed_hidden", "lala more hidden text");


      //////////////////////////////////////////////////////////////////////////
      // Name from @label attribute.

      // Gets the name from @label attribute.
      testName("btn_labelattr", "labeled element");


      //////////////////////////////////////////////////////////////////////////
      // Name for nsIDOMXULSelectControlItemElement.

      // Gets the name from @label attribute.
      testName("li_nsIDOMXULSelectControlItemElement", "select control item");


      //////////////////////////////////////////////////////////////////////////
      // Name if the XUL element doesn't implement nsIDOMXULSelectControlElement
      // and has @label attribute.

      testName("box_not_nsIDOMXULSelectControlElement", "box");


      //////////////////////////////////////////////////////////////////////////
      // Name from the label element.

      // The label and button are placed on 2nd level relative common parent.
      testName("btn_label_1", "label1");

      // The label is on 1st, the button is on 5th level relative common parent.
      testName("btn_label_2", "label2");

      // The label and button are siblings.
      testName("btn_label_3", "label3");

      // Multiple labels for single button: XUL button takes the last one.
      testName("btn_label_4", "label5");

      // Label associated with HTML element.
      testName("input_label", "input label");


      //////////////////////////////////////////////////////////////////////////
      // tooltiptext (if nothing above isn't presented then tooltiptext is used)
      testName("box_tooltiptext", "tooltiptext label");


      //////////////////////////////////////////////////////////////////////////
      // Name from the @title attribute of <toolbaritem/> (original bug 237249).

      // Direct child of toolbaritem.
      testName("toolbaritem_child", null);

      // Child from subtree of toolbaritem.
      testName("toolbaritem_hboxbutton", "button");


      //////////////////////////////////////////////////////////////////////////
      // name from label inside toolbar button
      testName("toolbarbuttonwithlabel", "I am the button");


      //////////////////////////////////////////////////////////////////////////
      // Name from children

      // ARIA role button is presented allowing the name calculation from
      // children.
      testName("box_children", "14");

      // Button labelled by a text child.
      testName("button_text", "Text");
      testName("toolbarbutton_text", "Text");

      // ARIA role option is presented allowing the name calculation from
      // the visible children (bug 443081)
      testName("lb_opt1_children_hidden", "i am visible");


      //////////////////////////////////////////////////////////////////////////
      // Name from aria-labelledby: menuitem label+ listitem label
      testName("li_labelledby", "Show an Alert The moment the event starts");

      //////////////////////////////////////////////////////////////////////////
      // groupbox labeling from first label
      testName("groupbox", "Some caption");

      SimpleTest.finish();
    }

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

  <hbox flex="1" style="overflow: auto;">

  <body xmlns="http://www.w3.org/1999/xhtml">
    <a target="_blank"
       href="https://bugzilla.mozilla.org/show_bug.cgi?id=444279"
       title="mochitest for accessible name calculating">
      Mozilla Bug 444279
    </a>
    <a target="_blank"
      href="https://bugzilla.mozilla.org/show_bug.cgi?id=441991"
      title="nsXULListitemAccessible::GetName prefers label \
           attribute over aria-labelledby and doesn't allow recursion">
      Mozilla Bug 441991
    </a>
  <p id="display"></p>
    <div id="content" style="display: none">
    </div>
    <pre id="test">
    </pre>
  </body>

  <vbox flex="1">

  <!-- aria-label, simple label -->
  <button id="btn_simple_aria_label" aria-label="I am a button"/>

  <!-- aria-label plus aria-labelledby -->
  <button id="btn_both_aria_labels" aria-label="I am a button, two"
          aria-labelledby="labelledby_text btn_both_aria_labels"/>

  <!-- aria-labelledby, single relation -->
  <description id="labelledby_text">text</description>
  <button id="btn_labelledby_text"
          aria-labelledby="labelledby_text"/>

  <!-- aria-labelledby, multiple relations -->
  <description id="labelledby_text1">text1</description>
  <description id="labelledby_text2">text2</description>
  <button id="btn_labelledby_texts"
          aria-labelledby="labelledby_text1 labelledby_text2"/>

  <!-- trick aria-labelledby -->
  <checkbox id="rememberHistoryDays"
            label="Remember "
            aria-labelledby="rememberHistoryDays historyDays rememberAfter"/>
  <html:input id="historyDays" value="3"
              aria-labelledby="rememberHistoryDays historyDays rememberAfter"/>
  <label id="rememberAfter">days</label>

  <!-- the name from subtree, mixed content -->
  <description id="labelledby_mixed">
    no<description>more text</description>
  </description>
  <button id="btn_labelledby_mixed"
          aria-labelledby="labelledby_mixed"/>

  <!-- the name from subtree, mixed/hidden content -->
  <description id="labelledby_mixed_hidden_child">no<description>more <description hidden="true">hidden</description>text2</description></description>
  <button id="btn_labelledby_mixed_hidden_child"
          aria-labelledby="labelledby_mixed_hidden_child"/>

  <!-- the name from subtree, mixed/completely hidden content -->
  <description id="labelledby_mixed_hidden"
               hidden="true">lala <description>more hidden </description>text</description>
  <button id="btn_labelledby_mixed_hidden"
          aria-labelledby="labelledby_mixed_hidden"/>
  <br/>

  <!-- the name from subtree, mixed content, ignore items of menulist -->
  <description id="labelledby_mixed_menulist">
    no<description>more text</description>
    <menulist>
      <menupopup>
        <menuitem label="selected item"/>
        <menuitem label="item"/>
      </menupopup>
    </menulist>
    more text
  </description>
  <button id="btn_labelledby_mixed_menulist"
          aria-labelledby="labelledby_mixed_menulist"/>

  <!-- @label -->
  <button id="btn_labelattr"
          label="labeled element"/>

  <!-- nsIDOMXULSelectControlItemElement -->
  <richlistbox>
    <richlistitem id="li_nsIDOMXULSelectControlItemElement">
      <label value="select control item"/>
    </richlistitem>
  </richlistbox>

  <!-- not nsIDOMXULSelectControlElement -->
  <box id="box_not_nsIDOMXULSelectControlElement" role="group" label="box"/>

  <!-- label element  -->
  <hbox>
    <box>
      <label control="btn_label_1">label1</label>
    </box>
    <label control="btn_label_2">label2</label>
    <box>
      <button id="btn_label_1"/>
      <box>
        <box>
          <box>
            <button id="btn_label_2"/>
          </box>
        </box>
      </box>
    </box>
    <label control="btn_label_3">label3</label>
    <button id="btn_label_3"/>

    <label control="btn_label_4">label4</label>
    <label control="btn_label_4">label5</label>
    <button id="btn_label_4"/>

    <label control="input_label">input label</label>
    <html:input id="input_label"/>
  </hbox>

  <!-- tooltiptext -->
  <box id="box_tooltiptext"
       role="group"
       tooltiptext="tooltiptext label"/>

  <!-- the name from @title of toolbaritem -->
  <!-- and the name from label of a toolbarbutton -->
  <toolbar>
    <toolbaritem title="ooospspss">
      <box id="toolbaritem_child"
           role="group"
           flex="1">
        <hbox role="button" id="toolbaritem_hboxbutton">
          <description value="button"/>
        </hbox>
      </box>
    </toolbaritem>
    <toolbarbutton id="toolbarbuttonwithlabel">
      <label flex="1">I am the button</label>
    </toolbarbutton>
  </toolbar>

  <!-- name from children -->
  <box id="box_children" role="button">14</box>
  <button id="button_text">Text</button>
  <toolbarbutton id="toolbarbutton_text">Text</toolbarbutton>

  <!-- name from children, hidden children -->
  <vbox role="listbox" tabindex="0">
    <hbox id="lb_opt1_children_hidden" role="option" tabindex="0">
      <description>i am visible</description>
      <description style="display:none">i am hidden</description>
    </hbox>

    <!-- Name from caption sub tree -->
    <groupbox id="groupbox">
      <label>Some caption</label>
      <checkbox label="some checkbox label" />
    </groupbox>
  </vbox>

  <!-- bug 441991; create name from other menuitem label listitem's own label -->
  <hbox>
    <richlistbox>
      <richlistitem id="li_labelledby"
                    aria-labelledby="menuitem-DISPLAY li_labelledby">
        <label value="The moment the event starts"/>
      </richlistitem>
    </richlistbox>
    <menulist>
      <menupopup>
        <menuitem id="menuitem-DISPLAY"
                  value="DISPLAY"
                  label="Show an Alert"/>
        <menuitem id="menuitem-EMAIL"
                  value="EMAIL"
                  label="Send an E-mail"/>
      </menupopup>
    </menulist>
  </hbox>

  </vbox> <!-- close tests area -->
  </hbox> <!-- close main area -->
</window>

[ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge