Techniken für WCAG 2.0

Zum Inhalt

-

F37: Fehler bei Erfolgskriterium 3.2.2, weil ein neues Fenster ohne vorherige Warnung geöffnet wird, wenn der Status eines Radiobuttons, einer Checkbox oder einer Auswahlliste geändert wird

Anwendbarkeit

HTML und XHTML

Dieser Fehler bezieht sich auf:

Anmerkungen zur Unterstützung durch Benutzeragenten und assistierende Techniken

Internet Explorer 6 löst den onclick-Event auch dann aus, wenn ein Radiobutton mit onclick den Fokus erhält; das Hinzufügen von anderen Event-Handlern (onxxx-Attributen), um dies zu vermeiden, funktioniert nicht.

Beschreibung

Dieses Dokument beschreibt einen Fehler, der auftritt, wenn die Änderung des Status eines Radiobuttons, eines Kontrollkästchen oder eines Punktes in einer Auswahlliste dazu führt, dass ein neues Fenster geöffnet wird. Es ist möglich, Scripting zu benutzen, um ein input-Element zu erstellen, dass zu einer Änderung des Kontextes führt (Formular absenden, eine neue Seite öffnen, ein neues Fenster), wenn das Element ausgewählt wird. Entwickler können stattdessen eine Absenden-Schaltfläche benutzen (siehe G80: Bereitstellung einer submit-Schaltfläche, um eine Änderung zu Kontextes einzuleiten) oder deutlich auf den erwarteten Vorgang hinweisen.

Beispiele

Fehler-Beispiel 1

Das Beispiel unten scheitert am Erfolgskriterium, weil es das Formular verarbeitet, wenn ein Radiobutton ausgewählt wird statt dass eine Absenden-Schaltfläche benutzt wird.

Code-Beispiel:

				
<script type="text/JavaScript"> 
  function goToMirror(theInput) {
   var mirrorSite = "http://download." + theInput.value + "/"; 
   window.open(mirrorSite); 
  }
</script>
  …
<form name="mirror_form" id="mirror_form" action="" method="get">
       <p>Please select a mirror download site:</p> 
       <p> 
       <input type="radio" onclick="goToMirror(this);" name="mirror" 
       id="mirror_belnet" value="belnet.be" /> 
       <label for="mirror_belnet">belnet (<abbr>BE</abbr>)</label><br /> 
       <input type="radio" onclick="goToMirror(this);" name="mirror" 
       id="mirror_surfnet" value="surfnet.nl" /> 
       <label for="mirror_surfnet">surfnet (<abbr>NL</abbr>)</label><br /> 
       <input type="radio" onclick="goToMirror(this);" name="mirror" 
       id="mirror_puzzle" value="puzzle.ch" /> 
       <label for="mirror_puzzle">puzzle (<abbr>CH</abbr>)</label><br /> 
       <input type="radio" onclick="goToMirror(this);" name="mirror" 
       id="mirror_voxel" value="voxel.com" /> 
       <label for="mirror_voxel">voxel (<abbr>US</abbr>)</label><br /> 
       </p> 
</form>

Ressourcen

Es gibt für diese Technik keine Ressourcen.

(derzeit keine aufgelistet)

Tests

Vorgehensweise

  1. Finden Sie jedes Formular auf einer Seite.

  2. Prüfen Sie für jedes Formular-Steuerelement, bei dem es sich um einen Radiobutton, ein Kontrollkästchen oder einen Punkt in einer Auswahlliste handelt, ob die Änderung des Status des Steuerelementes ein neues Fenster öffnet.

  3. Prüfen Sie bei jedem neuen Fenster, das aus Schritt 2 resultiert, ob der Benutzer vorab gewarnt wird.

Erwartete Ergebnisse

Wenn Schritt #3 falsch ist, dann gilt diese Fehlersituation und der Inhalt scheitert am Erfolgskriterium.