Adobe Flash Professional Version MX und höher
Adobe Flex
Die Technik bezieht sich auf:
Siehe User Agent Support for Flash für allgemeine Informationen zur Unterstützung durch Benutzeragenten.
Das Ziel dieser Technik ist es zu zeigen, wie man den Zugriff per Tastatur auf einen Flash-MovieClip, auf den man nicht standardmäßig per Tastatur zugreifen kann, zur Verfügung stellen kann. Diese Technik stellt sicher, dass das Element fokussierbar ist, indem das tabenabled-Property gesetzt wird und sie stellt sicher, dass die Aktion von der Tastatur aus ausgelöst werden, indem zusätzlich zum Click-Handler ein Keydown-Handler bereitgestellt wird.
In diesem Beispiel wird ein individueller erstellter MovieClip als Schaltfläche benutzt. Damit man darauf per Tastatur zugreifen kann, wird der MovieClip in der Tabulator-Reihenfolge platziert, indem man tabEnabled benutzt. Zusätzlich werden redundante Event-Handler hinzugefügt, so dass die individuell erstellte Schaltfläche sowohl auf einen Mausklick als auch auf das Drücken der Leertaste reagiert. Schließlich erhält die Schaltfläche einen barrierefreien Namen, indem das AccessibilityProperties-Objekt des MovieClips benutzt wird. Damit wird das Label der Schaltfläche für assistierende Techniken wahrnehmbar gemacht.
Das Ergebnis kann man in der funktionierenden Version von „MovieClip used as a button“ (MovieClip, der als Schaltfläche benutzt wird) ansehen. Die Quelle von „MovieClip, der als Schaltfläche benutzt wird“ steht zur Verfügung.
Anmerkung: Die Benutzung eines generischen MovieClips wird im Allgemeinen nicht empfohlen, da die individuell erstellte Schaltfläche als fokussierbare Grafik wahrgenommen wird statt als Schaltfläche. Stattdessen wäre es eine bessere Vorgehensweise, die Standard-Flash-Schaltflächen-Komponente zu benutzen oder ein neues Symbol vom Typ „Schaltfläche“ zu erstellen.
Code-Beispiel:
import flash.accessibility. *
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.net.navigateToURL;
import flash.net.URLRequest;
testMC.tabEnabled = true;
updateAccName(testMC);
testMC.addEventListener(MouseEvent.CLICK, clickHandler, false);
testMC.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
updateAccName(testMC);
function clickHandler(e) {
testMC.labelText.text = "THANKS";
updateAccName(testMC);
}
function keyDownHandler(e) {
if (e.keyCode == 32)
clickHandler(e);
}
function updateAccName(mc: MovieClip) {
if (! mc.accessibilityProperties)
mc.accessibilityProperties = new AccessibilityProperties();
mc.accessibilityProperties.name = mc.labelText.text;
Accessibility.updateProperties();
}
Wenn ein Flash-Film generische MovieClip-Instanzen enthält, die als interaktive Steuerelemente benutzt werden, bestätigen Sie, dass:
Das tabEnabled-Property der MovieClip-Instanz auf wahr gesetzt wurde
Die MovieClip-Instanz Event-Handler sowohl für Maus- als auch für Tastatur-Events hat
#1 und #2 sind wahr.
Wenn dies eine ausreichende Technik für ein Erfolgskriterium ist, dann bedeutet das Scheitern an diesem Testverfahren nicht zwangsläufig, dass das Erfolgskriterium nicht auf irgendeine andere Art und Weise erfüllt wurde, sondern nur, diese Technik nicht erfolgreich implementiert wurde und nicht benutzt werden kann, um die Konformität zu erklären.