Back to the original French page Read this page in Italian by Google Translation Read this page in Portuguese by Google Translation Read this page in English by Google Translation Read this page in German by Google Translation Read this page in Spanish by Google Translation Read this page in Arabic by Google Translation Read this page in Hebrew by Google Translation

JavaScript-Event-Handler

Zum Anfang des Inhalts, ohne die bar Beratung und Freigabe Wie nutzen Sie das bar Beratung und Freigabe Hören Sie sich die wichtigsten Inhalte dieser Seite
Drucken Drucken Sie die wichtigsten Inhalt dieser Seite Senden E-Mail den wesentlichen Inhalt dieser Seite Anteil Share on TwitThis Share on Facebook Diese Seite empfehlen bei Wikio Teilen Sie diese Seite über Google Share on LinkedIn Share on Digg Teilen Sie diese Seite auf del.icio.us Teilen Sie diese Seite auf Netvibes

Achtung: Die ursprüngliche Version dieses Dokuments ist Barrierefreie JavaScript: JavaScript Event-Handler . Diese Französisch-Übersetzung erfolgte durch Ideos Rahmen einer Vereinbarung zwischen WebAIM und Ideos .

Hinweis: Auf Seite Dokumente auf Web-Zugänglichkeit für eine Liste aller übersetzten Dokumente. Andere Ressourcen auf die Barrierefreiheit im Web sind auch in den genannten digitalen Portal zugänglich .

Überblick

JavaScript ausführen können mit Hilfe des Tags werden <script> und einen Event-Handler. Der Tag <script> enthalten kann JavaScript-Code direkt:

<script type= »text/javascript »> <-! Funktion () -> </ script>

oder öffnen Sie eine externe JavaScript-Datei (. js)

<script type= »text/javascript "src= »scripts.js »> </ script>

Der Tag <script> wird automatisch ausgeführt, wenn die Seite geladen wird. Der Inhalt und die Funktionalität des Skripts in den Tag ausgeführt <script> muss direkt zugänglich sein oder eine zugängliche Alternative, Inhalt und Funktionalität JavaScript muss angegeben werden.

Eventhandler werden, bestehende HTML hinzugefügt und sind durch ein Ereignis oder Benutzer-Browser ausgelöst - z. B. wenn die Seite geladen wird, wenn der Benutzer mit der Maus klickt oder zu einem bestimmten Zeitpunkt. Einige Event-Handler sind abhängig von der Verwendung einer Maus oder Tastatur. Diese Ereignishandler werden aufgerufen abhängig von einem Gerät. Weitere Event-Handler sind geräteunabhängig und werden sowohl von der Maus und Tastatur oder mit anderen Mitteln ausgelöst. Der Einsatz von Event-Handler abhängig von einem Gerät in der Unzugänglichkeit der Inhalte an eine Person, die das Gerät nicht für diesen Event-Handler benötigt Nutzung führen.

onMouseOver und onMouseOut

Der Event-Handler onMouseOver wird ausgelöst, wenn der Mauszeiger auf ein Element gelegt wird. Wie der Name schon sagt, onMouseOver erfordert die Verwendung einer Maus. Es ist daher abhängig von périphérque und Zugänglichkeit zu Problemen führen. onMouseOver und sein Begleiter onMouseOut wie alle Inhalte genutzt werden kann und die wichtigsten Funktionen sind auch ohne Verwendung der Maus zur Verfügung.

Beispiel 1

Zeigen Sie mit der Maus über das Bild unten, um ein Beispiel der Verwendung siehe onMouseOver . « . Wenn die Maus über das Bild der "Barrierefreiheit" gesetzt wird, wird ein anderes Bild an seiner Stelle angezeigt, so dass die Definition des Begriffs "Barrierefreiheit".

Barrierefreiheit - Die Qualität des Seins zugänglich, oder der Zulassung Ansatz; receptibility.

<A href = "page.htm" onmouseover = "document.images ['myimage'] src = 'imageoff.gif';." Onmouseout = "document.images ['myimage'] src = 'imageon.gif." "> <img src =" / images / media / imageoff.gif "width =" 289 "height =" 79 "id =" myimage "alt =" Accessibility - Die Qualität des Seins zugänglich, oder der Zulassung Ansatz; receptibility. "/> </ A>

Wichtig

Alle Beispiele auf dieser Seite sind in XHTML 1.0 Strict. XHTML Nachfrage Namen der Event-Handler in Kleinbuchstaben (zB: kodierte onmouseover statt onMouseOver ).

Versuchen Sie, um das Bild mit der Tastatur navigieren. Beachten Sie, dass, wenn zusätzliche Informationen, die nicht angezeigt wird. Der Text Alternative für das Bild gibt den Inhalt des Event-Handler geschrieben onMouseOver . Dies ermöglicht Benutzern, die, wie der Text alternative Zugriff auf den Inhalt zu erhalten wissen, aber das ist keine wirkliche Lösung.

Probleme

In diesem Beispiel ist die zusätzliche Inhalte angezeigt mit onMouseOver . Diese Inhalte können angezeigt, wenn der Benutzer die Maus über das Bild fliegen. Es ist nicht möglich jemanden, der die Tastatur verwendet, um die Seite zu navigieren. Der Event-Handler onMouseOver kann nicht direkt zur Verfügung gestellt werden Tastatur Nutzer. Daher muss eine Alternative geben.

Teillösung

Legen Sie die zusätzlichen Inhalte in den Text alternative des Bildes. Dies sollte für die Nutzer von Screenreadern arbeiten - der Screenreader den Text alternative zu lesen. Aber für sehende Benutzer, deren Browser nicht darstellen kann, den Text Alternative für Bilder oder die sich nicht bewegen Sie die Maus über das Bild kann, ist es keine Alternative. Allerdings muss das Bild dann eine alternative Text-Äquivalent.

Lösungen

Zusätzlich zu onMouseOver und onMouseOut , verwenden onFocus und onBlur . Diese Aktionen werden ausgelöst, wenn die Tastatur verwendet, um zu und von den Link, der Tag enthält navigieren <img> .

Barrierefreiheit - Die Qualität des Seins zugänglich, oder der Zulassung Ansatz; receptibility.

<A href = "page.htm" onmouseover = "document.images ['myimage'] src = 'imageon.gif', 'onfocus = document.images." [' Myimage '] = Src. Imageoff.gif'; "onmouseout =" document.images ['myimage'] src = 'imageoff.gif', 'onblur = "document.images [' myimage '] src =". imageoff.gif'; ".> <img src =" imageoff . gif "width =" 289 "height =" 79 "id =" myimage "alt =" Accessibility - Die Qualität des Seins zugänglich, oder der Zulassung Ansatz; receptibility. "/> </ A>

Sie sollten immer eine Text-Alternative für Blinde und onFocus und onBlur können Benutzer die Tastatur navigieren, um das Bild zu ändern sehen.

Beispiel 2

Eine gemeinsame Nutzung von onMouseOver und onMouseOut für die Navigations-Menüs Drop-Down (fly-out-oder Drop-Down-Navigationssysteme). Zeigen Sie mit der Maus über die Menüpunkte unten, um ein Beispiel für Menüs zu sehen. Wenn die Maus über die wichtigsten Menüpunkte (platziert wird onMouseOver ), erscheinen Untermenüs unten. Wenn die Maus entfernt wird ( onMouseOut ), verschwinden die Untermenüs.

Probleme

Die Inhalte und zusätzliche Funktionen angezeigt mit onMouseOver . In diesem Beispiel steuert die JavaScript CSS die Darstellung von Elementen auf der Seite. Die Untermenüs sind nur sichtbar, wenn die Maus über das Hauptmenü befindet. Diese Untermenüs sind möglicherweise nicht zur Verfügung, wenn Javascript deaktiviert ist und kann nicht von unterstützenden Technologien gelesen werden.

Lösungen

Wenn möglich, verwenden andere Event-Handler, Navigation mit der Tastatur zu ermöglichen. Wenn dies nicht möglich ist, müssen Sie eine redundante Methode der Navigation. Dies kann auf zwei Arten erfolgen. Zuerst geben Sie die Links in den Inhalt der Seite für die Seiten in der Subnavigation angezeigt. Dies geschieht meist über eine Liste von Links am Ende der Seite aufgelistet getan. Der Nachteil dieser Methode ist, dass die Navigation nur am unteren Rand der Seite, die werden nicht intuitiv für die meisten Benutzer kann.

Eine zweite Methode, um eine redundante Methode der Navigation bieten wird, um einen Link hinzufügen href zu jedem der Hauptnavigation (z. B. Produkte, Dienstleistungen, etc.), um eine Webseite, die Untermenüs enthält. Wenn Sie die Links Produkte, Dienstleistungen und selektieren Sie Unterstützung vor, sehen Sie ein Beispiel für redundante Navigations-Links.

Beispiel

<a href= »productlinks.htm "onmouseover= »SlideOutMenu();" onmouseout= »SlideInMenu(); »> Produkte </ a>

Obwohl diese Methode erfordert die Schaffung einer zusätzlichen Seite und stellt einen weiteren Schritt, es gibt auch vollen Zugriff auf die Elemente der Navigation in einer intuitiven Weise. Diese Methode ermöglicht es auch in den Untermenüs zugänglich sein, wenn JavaScript deaktiviert ist.

onFocus und onBlur

Diese Ereignishandler werden in der Regel mit Formular-Elemente wie Textfelder, Optionsfelder und Schaltflächen verwendet. onFocus ausgelöst wird, wenn Sie den Cursor auf ein bestimmtes Feld des Formulars platziert wird. onBlur ausgelöst wird, wenn der Cursor lässt ein Formular-Element.

Diese beiden Event-Handler sind geräteunabhängig, das heißt, sie mit der Maus, Tastatur oder anderen unterstützenden Technologien ausgeführt werden können. Aktionen, die nach diesen Eventhandler ausgeführt werden sollte analysiert werden, um festzustellen, ob sie Zugang zu Problemen führen werden. Im Allgemeinen sind diese Event-Handler nicht die Ursache der Probleme bei der Barrierefreiheit, wenn sie den Standard-Webbrowser ändern oder wenn sie stören die Navigation per Tastatur in die Web-Seite.

Beispiel 1

Setzen Sie den Cursor in das Textfeld unten ein Beispiel für Event-Handler sehen onFocus .

<input id= »fname "type= »text" onfocus = »alert('Entrez Ihren Nachnamen seulement'); "/>
Probleme

Nein. Während das Alarm-Fenster kann als störend empfunden und unnötig, sie führt nicht ernsthaft Fragen der Zugänglichkeit. Der Alarm wird ausgelöst, wenn der Fokus in das Textfeld gesetzt wird mit der Tastatur oder Maus. JavaScript-Warnungen werden von Screenreadern mit den modernsten gelesen und kann verwendet werden, um die Usability von Formularen durch rechtzeitige Rückmeldung, Anweisungen oder Informationen zu erhöhen. Allerdings, wenn JavaScript deaktiviert ist, dann der Alarm wird nur dann für jedermann verfügbar.

Beispiel 2

In diesem Beispiel wird die Veranstaltung onBlur löst einen JavaScript-Code, der die Funktionalität des Web-Browsers verändert. Zeigen Sie mit der Maus in das nächste Textfeld, und geben Sie eine Zahl zwischen 1 und 10 liegt. Dann drücken Sie die Tab-Taste Tab oder klicken Sie mit der Maus außerhalb des Textfelds, um das Ereignis auszulösen onBlur um die eingegebene Nummer zu gewährleisten, ist es richtig gewesen zu validieren und um Kommentare lesen über Ihre Antwort. Wenn es falsch ist, bleibt das Textfeld den Fokus der Cursor, bis Sie die richtige Nummer eingeben. In diesem Beispiel müssen Sie die Zahl "6", damit der Browser auf andere Teile der Seite zugreifen.

Raten Sie eine Zahl zwischen 1 und 10?

Sie haben die richtige Anzahl (6).

Entschuldigung. Versuchen Sie, eine höhere Anzahl.

Entschuldigung. Versuchen Sie, eine niedrigere Nummer.

Geben Sie Ihre Antwort:

<input type= »text "id= »input1" size= »5" onblur = »checkAnswer(); »>
Probleme

Obwohl die Veranstaltung onblur ist geräteunabhängig, wird es verwendet, um JavaScript-Code, der die Seite schwer zu navigieren macht laufen. Der Text behält den Fokus, bis die richtige Antwort gegeben wird. Diese Änderung in der Standardeinstellung des Browsers kann zu Verwirrung und Einschränkungen. Darüber hinaus sind Kommentare in einem anderen Teil der Seite angezeigt. Da der Schwerpunkt in das Textfeld erhalten bleibt, wird ein Screen-Reader nicht in der Lage sein, Text Kommentare oder irgendeinen anderen Teil der Seite zuzugreifen, bis die richtige Antwort eingegeben wird.

Lösung

Nicht mit Gewalt den Fokus auf in das Textfeld bleiben. Hiermit kann der Anwender über die Seite navigieren. Kommentare auf einer anderen Seite nach dem Formular abgeschickt wurde (dies ist ohne JavaScript getan) oder zeigen Sie die Kommentare mit JavaScript alert (erfordert JavaScript). Versuchen Sie einen Brief in das Textfeld über eine JavaScript-Alert sehen.

onClick und onDblClick

Der Event-Handler onClick wird ausgelöst, wenn die Maus über ein HTML-Element geklickt wird. onClick ist ein Event-Handler ist abhängig von der Maus. Allerdings, wenn der Event-Handler onClick mit Hypertext-Links oder Formular-Steuerelemente verwendet wird, während die meisten Browser und assistive Technologien auslösen onClick , wenn die Enter-Taste gedrückt wird, wenn der Link oder Steuerelement den Fokus hat. In diesen Fällen onClick ist Event-Handler eine geräteunabhängige. Allerdings wird die Enter-Taste nicht ausgelöst bei onClick , wenn sie mit Elementen, die nicht Links oder Steuerelemente, z. B. Text oder Tabelle Zellen verwendet.

Der Event-Handler onDblClick mit dem Doppelklick der Maus auf ein HTML-Element zugeordnet. Es gibt keine unabhängige oder Tastatur entspricht onDblClick , die vermieden werden sollten.

Beispiel 1

Dieser Link führt auslösen JavaScript Dialogfeld zur Bestätigung, dass Sie bestätigen, ob Sie die Seite sehen wollen oder nicht können.

Schauen Sie sich dieses Beispiel onClick

<a href= »page.htm "onclick = »return confirm('Etes-vous sicher, dass Sie diese Seite ?'); »> Schauen Sie sich dieses Beispiel onClick </ a> view
Probleme

Nein. Das Feld zur Bestätigung wird von allen großen Screenreadern gelesen werden. Mit dem JavaScript-Einstellung return , wird die Aktion von der Bindung aufgehoben, wenn der Benutzer wählt in der Bestätigungs-Schaltfläche Abbrechen. Wenn JavaScript deaktiviert ist, wird der Link normal arbeiten.

Beispiel 2

Die folgende ist so konzipiert, als Verbindung (blau und unterstrichen), aber der Text mit einem Ereignis verknüpft erscheinen onClick , dass ein anderes Dokument im Browser-Fenster öffnet sich. Mit der Maus auf den Text klicken.

Schauen Sie sich ein weiteres Beispiel onClick

<p style= »color:blue; text-decoration:underline "onclick = »location.href='page.htm' »> See ein weiteres Beispiel onClick </ p>
Probleme

Da der Text einen Hyperlink oder ein Kontrollfeld, ist es nicht den Fokus erhalten bei der Navigation mit der Tastatur. Weil es nicht den Fokus erhalten, kann die Tastatur nicht benutzt, um das Ereignis zu aktivieren onClick .

Lösung

Verwenden Sie den Event-Handler onClick von einem Link oder ein Formular-Steuerelement statt einem Element, das nicht von der Tastatur erreicht werden kann.

Beispiel 3

Eine sehr häufige Verwendung von JavaScript ist seine Verwendung auf die Informationen in einer Form zu bestätigen. Die folgende Formular verwendet JavaScript, damit Sie die Informationen eingegeben haben bestätigen.

Geben Sie Ihren Namen in das Feld unten ein und drücken Sie anschließend die Schaltfläche Senden.

<form action= »page.htm "onsubmit= »validate(); Rückkehr false; »>
<p> <label for= »yourname »> Name: </ label> <input type= »text "id= »yourname" />
<input type= »button "value= »Envoyer" onclick = »validate(); "/> </ p>
</ Form>
Probleme

Bestätigung und alert-Boxen, die durch das Ereignis ausgelöst werden onClick zugänglich sind Browser und assistive Technologien, die JavaScript aktiviert haben. Validierung von Informationen Formular mit einer Server-seitigen Skript und Anzeigen von Kommentaren zu anderen Web-Seite können Sie alle Probleme, die in JavaScript-Code auftreten können, zu überwinden und ermöglicht die Validierung des Formulars, wenn JavaScript deaktiviert ist. Wenn JavaScript wird verwendet, um die Form zu überprüfen, stellen Sie sicher, dass alle Elemente des Formulars und alle Features abgeschlossen werden kann mit der Tastatur bedient werden. Da der Handler onClick mit einem Formular-Element verwendet wird, ist es durch Verwendung von sowohl Maus und Tastatur aktiviert.

Kommentar

mais sur le bouton Entrée quand le focus est dans le champ de formulaire. Da die meisten Browser die Formulardaten, wenn die Enter-Taste gedrückt wird senden wird, der Event-Handler onsubmit wurde mit dem Tag hinzugefügt <form> um sicherzustellen, dass die Formulardaten gesendet wird, wenn der Benutzer gerade keine Unterstützung für die Schaltfläche Senden, aber die Enter-Taste, wenn der Fokus in das Formularfeld ist. Beachten Sie auch, dass das Label für das Textfeld ist nicht erforderlich.

Beispiel 4

Dieses Beispiel bestätigt auch die Formulardaten, aber die Rückkehr in einen anderen Ort auf der Seite angezeigt.

Wie viele Elemente gibt es in einem Dutzend? Geben Sie den Betrag in das Feld unten ein und drücken Sie anschließend die Schaltfläche Check.

Richtig. Es gibt 12 Einträge in ein Dutzend.

Falsche. Es gibt 12 Einträge in ein Dutzend.

<form action= »page.htm "onsubmit= »checkAnswer2(); Rückkehr false; »>
<p class= »invis "id= »answercorrect »> Richtig. Es gibt 12 Einträge in ein Dutzend. </ P>
<p class= »invis "id= »answerwrong »> Falsche. Es gibt 12 Einträge in ein Dutzend. </ P>
<p> <label for= »answerbox »> Geben Sie die Antwort: </ label>
<input type= »text "id= »answerbox" />
<input type= »submit "onclick = »checkAnswer2()" value= »Vérifier "/>
</ P>
</ Form>
Probleme

Kommentare sind nicht in einer Weise zugänglich zu unterstützenden Technologien vorgestellt. In diesem Beispiel ändert sich die JavaScript die Art der Anzeige-Einstellungen für Seitenelemente, um sie sichtbar oder unsichtbar auf der Grundlage der Antworten. Nutzer von Screen Reader wird nicht bewusst sein, dass zusätzliche Inhalte plötzlich auf der Seite.

Lösungen
  1. Überprüfen Sie die Formulardaten mit einer Server-seitigen Skript und Kommentare auf einer anderen Seite.
  2. Feedback in einer Weise, zugänglich als JavaScript Alert-Box oder eine andere Form Element ist.

onChange und onSelect

Der Event-Handler onChange wird ausgelöst, wenn ein Formular-Element ausgewählt und verändert werden (zum Beispiel, wenn ein Radio-Button zunächst ausgewählt ist oder wenn der Text ändert sich in ein Textfeld). Der Event-Handler onSelect behandelt wird, wenn der Text in einem Textfeld oder in ein Textfeld ausgewählt ist. Obwohl diese Ereignisse unabhängig von Geräten und kann über die Maus, Tastatur oder ein anderes Gerät, sollte die Aktionen, die als Ergebnis dieser Eventhandler ausgeführt werden analysiert, um festzustellen, ob sie Probleme schaffen Zugänglichkeit.

Beispiel onChange

Das folgende Menü wird als ein Navigationsmenü verwendet. Durch die Auswahl eines Elements in der Liste, JavaScript automatisch öffnet die Seite im Browser sépcifiée.

Kommentar

In einigen Browsern müssen Sie die Enter-Taste drücken oder klicken Sie auf einen Menüpunkt, um den Event-Handler aktiviert onchange . Klicken Sie auf die Schaltfläche Zurück des Browsers, um auf diese Seite zurück.

<script type= »text/javascript »>
<! -
goto_URL Funktion (Objekt) {
window.location.href = object.options [object.selectedIndex]-Wert;.}
/ / ->
</ Script>

<form action= »page.htm "onsubmit= »return false; »>
<p> <label for= »selectPage »> Gehe zu: </ label>
<select name= »selectName "onchange = »goto_URL(this.form.selectName) »>
<option value= »"> Wählen Sie eine Seite: </ option>
<option value= »page.htm »> Seite 1 </ option>
<option value= »page.htm »> Seite 2 </ option>
<option value= »page.htm »> Page 3 </ option>
</ SELECT> </ p>
</ Form>
Probleme

Die JavaScript bewirkt, dass der Browser eine neue Seite mit Zugang onChange oder wenn der Benutzer ein Element aus der Liste. Wenn der Endbenutzer verwendet eine Tastatur, die Event-Handler onChange wird für jedes Element in der Liste ausgeführt. Es ist unmöglich für den Benutzer direkt wählen, um die letzte Element in der Liste als jede vorherige Element in der Liste der Seite zu ändern auslösen wird. , et ainsi de suite jusqu'à atteindre le dernier élément du menu. Die einzige Möglichkeit für den Benutzer, der letzte Menüpunkt ist durch den Zugriff auf die Seite für das erste Element in der Liste, und drücken Sie die Zurück-Taste, dann auf den zweiten Punkt zu navigieren, und drücken Sie Zurück-Taste, und so weiter, bis Sie den letzten Menüpunkt.

Lösungen

Anstelle der Verwendung der Event-Handler onChange , damit der Benutzer das Element aus einer Liste auszuwählen, und wählen Sie dann eine Taste oder senden Sie das Formular an das Skript zu aktivieren. Wenn ein Server-seitiges Script verwendet wird, um Daten in einer Form zu verarbeiten und leiten Sie die Browser entsprechend, gibt es keine Notwendigkeit für JavaScript. Der folgende Code zeigt eine Methode, um das Problem zu lösen onChange .

Wählen Sie eine Seite über das Drop-down Menü und klicken Sie dann auf Go!. Klicken Sie auf die Schaltfläche Zurück des Browsers, um auf diese Seite zurück.

<form action= »page.htm "onsubmit= »return false; »>
<p> <label for= »selectPage2"> Gehe zu: </ label>
<select name= »selectPage2" id= »selectPage2">
<option value= »"> Wählen Sie eine Seite: </ option>
<option value= »page.htm »> Seite 1 </ option>
<option value= »page.htm »> Seite 2 </ option>
<option value= »page.htm »> Page 3 </ option>
</ SELECT>
<Input type = "button" value = "Go! "Onclick =" goto_URL (this.form.selectPage2) "/>
</ P>
</ Form>

Verwenden Sie Ereignishandler unabhängige Geräte

Wie bereits erwähnt, sind mehrere Event-Handler geräteabhängig einschließlich onFocus , onBlur , onSelect , onChange und onClick (bei onClick mit einem Link oder Formular-Elemente verwendet wird). Wenn möglich, verwenden Ereignishandler unabhängige Geräte. Weitere Event-Handler sind geräteabhängig, was bedeutet, dass sie ganz auf eine bestimmte Art von Eintrag. Zum Beispiel, onMouseOver , onMouseOut und onDblClick auf die Verwendung einer Maus. Es gibt auch Event-Handler, die abhängig von der Tastatur (sind onKeyDown , onKeyUp , etc.) .. Viele Event-Handler abhängig Geräte können gemeinsam genutzt werden, um aktivieren Sie JavaScript in Maus und Tastatur aktiviert. Zum Beispiel, beide onMouseOver und onFocus (und onMouseOut und onBlur können) verwendet, um ein Skript für die Tastatur und Maus zu aktivieren. Verwenden Sie mehrere Event-Handler abhängig Geräte als eine Methode, um die Unabhängigkeit von Geräten zu gewährleisten erfordert eine große Anzahl von Tests in verschiedenen Browsern und mit unterschiedlichen unterstützenden Technologien, um sicherzustellen, dass die Zugänglichkeit ist abgeschlossen.

WebAIM ist eine Initiative von:
Zentrum für Menschen mit Behinderungen (CPD) Utah State University

Copyright 1999-2009 WebAIM

Top of Page