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.
Der Zweck dieser Technik ist es, das Abspielen von Ton zu vermeiden, wenn der Flash-Film geladen wird. Das ist nützlich für all jene, die assistierende Techniken einsetzen (wie z.B. Screenreader, Vergrößerungssoftware, Schaltermechanismen usw.) und für diejenigen, die dies nicht tun (wie z.B. diejenigen mit kognitiven, Lern- und Sprachbehinderungen). Standardmäßig wird der Ton automatisch abgespielt. Wenn allerdings ein Screenreader wie beispielsweise JAWS erkannt wird, muss der Ton manuell gestartet werden.
Um die Screenreader-Erkennung auszuführen stellt Flash die flash.accessibility.Accessibility.active
-Eigenschaft zur Verfügung. Wenn diese Eigenschaft auf wahr gesetzt wird, bedeutet das, dass der Flash-Player laufende assistierende Techniken erkannt hat. Basierend auf diesem Merker („flag“) kann sich der Flash-Entwickler dazu entscheiden, unterschiedliche Funktionalitäten ausführen zu lassen.
Anmerkung 1: Der Flash-Player benötigt ein wenig Zeit, um assistierende Techniken zu erkennen und die Accessibility.active-Eigenschaft zu setzen. Um korrekte Ergebnisse zu erhalten, überprüfen Sie diese Eigenschaft nicht unmittelbar beim ersten Frame des Films. Führen Sie Sie die Überprüfung stattdessen 5 Frames weiter oder basierend auf einem zeitlich festgelegten Event aus.
Anmerkung 2: Durch die Benutzung dieses Mechanismus wird nicht jeder Screenreader erkannt. Im Allgemeinen wird diese Eigenschaft auf wahr gesetzt, wenn irgendein MSAA-Client ausgeführt wird.
Anmerkung 3: Andere assistierende Techniken einschließlich Vergrößerungssoftware oder Werkzeuge, die nicht als assistierende Techniken benutzt werden, können MSAA ebenfalls auf eine Art und Weise benutzen, die dazu führt, dass Accessibility.active
auf wahr
gesetzt wird.
Eine Klasse genannt SoundHandler wird erstellt, die nur dann eine mp3-Datei automatisch abspielt, wenn Accessibility.active auf falsch gesetzt wird. Beachten Sie, dass dieses Beispiel auch die Eigenschaft flash.system.Capabilities.hasAccessibility überprüft. Diese Eigenschaft prüft nicht, ob ein Screenreader läuft, sondern gibt stattdessen an, ob ein Flash-Player in einer Umgebung, die MSAA unterstützt, läuft (was im Grunde genommen das Windows Betriebssystem bedeutet).
Code-Beispiel:
package wcagSamples {
import flash.accessibility.Accessibility;
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.system.Capabilities;
import fl.controls.Button;
import fl.accessibility.ButtonAccImpl;
import fl.controls.Label;
import flash.events.MouseEvent;
public class SoundHandler extends Sprite {
private var snd: Sound = new Sound();
private var button: Button = new Button();
private var req: URLRequest = new URLRequest(
"http://av.adobe.com/podcast/csbu_dev_podcast_epi_2.mp3");
private var channel: SoundChannel = new SoundChannel();
private var statusLbl: Label = new Label();
public function SoundHandler() {
snd.load(req);
ButtonAccImpl.enableAccessibility();
button.x = 10;
button.y = 10;
statusLbl.autoSize = "left";
statusLbl.x = 10;
statusLbl.y = 40;
addChild(statusLbl);
button.addEventListener(MouseEvent.CLICK, clickHandler);
this.addChild(button);
if (! Capabilities.hasAccessibility || ! Accessibility.active) {
channel = snd.play();
button.label = "Stop Sound";
statusLbl.text = "No Assistive technology detected. \
Sound will play automatically";
} else {
button.label = "Start Sound";
statusLbl.text = "Assistive technology detected. \
Sound will not play automatically";
}
}
private function clickHandler(e: MouseEvent): void {
if (button.label == "Stop Sound") {
button.label = "Start Sound";
channel.stop();
} else {
channel = snd.play();
button.label = "Stop Sound";
}
}
}
}
Diese Technik kann in der funktionierenden Version von „A SoundHandler class“ (Eine SoundHandler-Klasse) angesehen werden. Die Quelle für „Eine SoundHandler-Klasse“ steht zur Verfügung.
Ressourcen sind nur zu Informationszwecken und keine offizielle Empfehlung.
Starten Sie einen Screenreader, der MSAA unterstützt.
Öffnen Sie eine Seite, die einen Flash-Film enthält, der Audio automatisch abspielt, wenn kein Screenreader läuft
Bestätigen Sie, dass das Audio angehalten wird.
#3 ist 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.