Unterstützung von Eingabehilfen in ASP.NET
Aktualisiert: November 2007
ASP.NET bietet Unterstützung beim Erstellen von Webanwendungen, auf die Menschen mit Behinderungen zugreifen können. In behindertengerechten Webanwendungen können Hilfstechnologien für die Arbeit mit Webseiten verwendet werden, z. B. Bildschirmsprachausgaben. Behindertengerechte Webanwendungen weisen die folgenden Vorteile auf:
Sie können von der größtmöglichen Benutzerzahl verwendet werden.
Es werden Entwurfsprinzipien verwendet, von denen neben Menschen mit Behinderungen auch alle anderen Benutzer profitieren.
Sie erfüllen die Anforderungen vieler Institutionen, für die alle Webanwendungen behindertengerecht gestaltet sein müssen.
Wenn Sie die Richtlinien für behindertengerechte Software kennen und wissen, wie ASP.NET Sie beim Erfüllen dieser Richtlinien unterstützen kann, können Sie Anwendungen erstellen, mit denen Menschen mit Behinderungen leichter interagieren können.
Richtlinien für behindertengerechte Software
Verschiedene Organisationen veröffentlichen Richtlinien für die Erstellung von behindertengerechten Anwendungen. Im Folgenden sind bekannte Richtlinien aufgeführt:
Web Content Accessibility Guidelines 1.0 (WCAG).
Diese Richtlinien wurden vom W3C (World Wide Web Consortium) entwickelt und dienen als Grundlage für viele andere Standards für behindertengerechte Software. Dies schließt Standards für behindertengerechte Software ein, die von Regierungen in der ganzen Welt verwendet werden.
Die Web Content Accessibility Guidelines finden Sie auf der World Wide Web Consortium (W3C)-Website.
In den WCAG-Richtlinien sind verschiedene Prioritätsebenen definiert, in denen auf einer Skala von 1 bis 3 die Kontrollpunkte dargestellt werden, die den einzelnen Richtlinien zugeordnet sind. Einige Institutionen stellen die Anforderung, dass alle Websites die Kontrollpunkte von Priorität 1 und Priorität 2 erfüllen müssen.
Abschnitt 508.
Die US-Regierung definiert Richtlinien für behindertengerechte Software in Abschnitt 508 des Rehabilitation Act, die den WCAG ähnlich sind.
Die Richtlinien in Abschnitt 508 finden Sie unter http://www.section508.gov.
Microsoft-Richtlinien für behindertengerechte Software.
Die Richtlinien für Eingabehilfen von Microsoft finden Sie unter Microsoft Accessibility und wenn Sie in der MSDN Library nach "Accessibility Design Guidelines for the Web" suchen.
Testen von behindertengerechter Software
In begrenztem Maße können Sie mit verschiedenen Tools von Drittanbietern testen, wie gut die Webseiten den Standards für behindertengerechte Software entsprechen.
Wenn Sie über eine Entwicklungsumgebung verfügen, z. B. Microsoft Visual Studio 2005, sind darin möglicherweise Tools zum Testen von behindertengerechter Software enthalten. Weitere Informationen finden Sie in der Produktdokumentation. Validierungstools für behindertengerechte Software testen jedoch zur Entwurfszeit keine dynamisch generierten Ausgaben, z. B. das von ASP.NET-Serversteuerelementen oder von ihrem eigenen Code wiedergegebene Markup. Sie sollten nicht nur Tools für die Validierung behindertengerechter Software zur Entwurfszeit verwenden, sondern auch die Seitenausgabe testen.
Ein automatischer Test von behindertengerechter Software kann keine vollständige Diagnose für die Eingabehilfen einer Seite oder einer Website durchführen. Viele der Richtlinien für behindertengerechte Software erfordern ihr persönliches Urteilsvermögen, um zu bestimmen, ob Features auf einer Seite den Richtlinien entsprechen. In einem automatischen Test kann beispielsweise bestimmt werden, ob Sie alt-Text für alle Bilder auf der Seite bereitgestellt haben. Im automatischen Test kann jedoch nicht ermittelt werden, ob der alt-Text das Bild zutreffend beschreibt. In einem automatischen Test kann auch nicht objektiv bestimmt werden, ob die Farben auf der Seite kontrastreich genug für Leser sind, für die Text mit hohem Kontrast erforderlich ist. Daher müssen Sie sich mit den Einzelheiten und der Absicht der Richtlinien vertraut machen, um die Seiten den Richtlinien gemäß zu gestalten und so Anwendungen zu erstellen, die auch wirklich behindertengerecht sind. Ein weiteres Beispiel für eine Überprüfung auf behindertengerechte Gestaltung, die möglicherweise nicht von einem Tool ausgeführt werden kann, ist eine Überprüfung darauf, ob für ein Bild ohne Text ein alt-Text vorhanden ist, z. B. für einen abgerundeten Tabellenrahmen. Andernfalls liest die Bildschirmsprachausgabe die Bilddatei. Wenn der alt-Text leer ist, überspringt die Bildschirmsprachausgabe das Bild ordnungsgemäß.
Eingabehilfen in ASP.NET
Meistens geben ASP.NET-Steuerelemente entweder Markup für Seiten wieder, die den Standards für Eingabehilfen entsprechen, oder sie machen Eigenschaften verfügbar, die so festgelegt werden können, dass Seiten behindertengerecht gestaltet werden. Manchmal geben ASP.NET-Steuerelemente jedoch eine Ausgabe wieder, die nicht alle Standards für behindertengerechte Software erfüllt. Ausführliche Informationen finden Sie unter Steuerelemente und Eingabehilfen von ASP.NET.
Allgemeine Steuerelementfeatures zur Unterstützung einer behindertengerechten Gestaltung
Im Allgemeinen erfüllen ASP.NET-Steuerelemente die Anforderungen an behindertengerechte Software auf folgende Weise:
Sie bieten eine Möglichkeit, für jedes Nicht-Textelement entsprechenden Text anzugeben.
Sie weisen keine Farbabhängigkeiten auf.
Sie geben Beschriftungen und Tabellenspaltenheader für Tabellen wieder.
Sie geben fieldset-Elemente und legend-Elemente wieder, die div-Elemente aufweisen.
Sie erfordern keine Stylesheets.
Sie unterstützen die Positionierung mithilfe von Stileigenschaften.
Sie ordnen Bezeichnungen Steuerelementen zu.
Sie generieren geräteunabhängiges Clientskript, z. B. Skripts, die nicht nur auf Mausklicks reagieren.
Tastaturzugriff
Ein wichtiges Feature für behindertengerechte Gestaltung besteht darin, dass auf einer Seite eine Funktion verfügbar ist, mit der zwischen unterschiedlichen Formen der Eingabe gewechselt werden kann. Praktisch bedeutet dies, dass alle Aufgaben, die mit der Maus ausgeführt werden können, auch mit der Tastatur ausgeführt werden können.
Mit ASP.NET können Sie die Tastaturunterstützung für Ihre Seiten auf folgende Weise einschließen:
Mithilfe der TabIndex-Eigenschaft können Sie die Aktivierreihenfolge von Steuerelementen festlegen.
Sie können für ein Formular oder ein Panel-Steuerelement eine Standardschaltfläche angeben, indem Sie die DefaultButton-Eigenschaft festlegen.
Sie können den Fokus auf Eingabesteuerelementen entweder mithilfe von Methoden wie der SetFocus-Methode oder durch Festlegen der DefaultFocus-Eigenschaft für ein Formular festlegen.
Durch Festlegen der AccessKey-Eigenschaft können Sie Zugriffstasten für Schaltflächen-Steuerelemente angeben.
Sie können Label-Steuerelemente mit Textfeldern verwenden, bei denen Sie Zugriffstasten für die Textfelder angeben können. Ausführliche Informationen finden Sie unter Gewusst wie: Verwenden von Label-Webserversteuerelementen als Beschriftungen.
Bilder und Alternativtext
Gemäß den Richtlinien für behindertengerechte Software empfiehlt es sich, auf der Seite aussagekräftigen Alternativtext für Bilder bereitzustellen, die einen funktionalen Zweck erfüllen, z. B. Bilder, die als Schaltflächen fungieren oder von Datensteuerelementen wiedergegeben werden. Dadurch kann die Bildschirmsprachausgabe angeben, welchen Zweck die einzelnen Bilder auf der Seite erfüllen. Wenn ein Bild außer einem dekorativen keinen weiteren funktionalen Zweck erfüllt, sollte für den Alternativtext eine leere Zeichenfolge festgelegt werden, sodass die Bildschirmsprachausgabe das Bild überspringt.
Da die Steuerelemente Image, ImageButton und ImageMap aussagekräftigen Text standardmäßig nicht automatisch generieren können, geben diese Steuerelemente keinen Alternativtext wieder. Sie sollten den Alternativtext selbst bereitstellen. In Überprüfungen auf behindertengerechte Gestaltung werden Bildsteuerelemente ohne Alternativtext als nicht den Richtlinien entsprechend gekennzeichnet.
Für Bildsteuerelemente sollten Sie einen der folgenden Schritte ausführen:
Legen Sie die AlternateText-Eigenschaft auf einen aussagekräftigen Text fest.
Legen Sie die GenerateEmptyAlternateText-Eigenschaft auf true fest, damit ein ASP.NET-Image-Steuerelement eine leere Zeichenfolge als Alternativtext wiedergibt. Ein leerer Alternativtext wird bei Überprüfung auf behindertengerechte Gestaltung so interpretiert, dass das Bild absichtlich als unwichtig markiert wurde.
Steuerelemente mit inhärenten Bildern oder Verknüpfungen
Einige Steuerelemente, z. B. das TreeView-Steuerelement, das Menu-Steuerelement und Webparts, geben Bilder oder Verknüpfungen als Teil ihres Markups wieder. In diesen Fällen erstellt das Steuerelement Alternativtext für jedes Bild oder jede Verknüpfung, das bzw. die die Funktion des Steuerelements beschreiben.
Das TreeView-Steuerelement gibt beispielsweise Bilder für die Schaltflächen Erweitern und Reduzieren jedes einzelnen Knotens wieder. Das TreeView-Steuerelement generiert basierend auf dem Text des Knotens einen Alternativtext für diese Bilder. Der Alternativtext für ein Bild zum Erweitern eines Knotens mit dem Text Start wird standardmäßig als Expand Start wiedergegeben. Sie können einen eigenen Alternativtext angeben, indem Sie die ExpandImageToolTip-Eigenschaft und die CollapseImageToolTip-Eigenschaft für das TreeView-Steuerelement festlegen.
Entsprechend gibt der Befehl Menü Alternativtext für Verknüpfungen wieder, die zum Erweitern und Reduzieren von Menüelementen generiert werden. Die Schaltflächen auf der Titelleiste eines Webparts-Steuerelements geben einen Alternativtext wieder, der die Funktionen der einzelnen Schaltflächen beschreibt.
Überspringen von sich wiederholenden Verknüpfungen
Hilfstechnologiegeräte, z. B. Bildschirmsprachausgaben, müssen jede Verknüpfung auf einer Seite in der Reihenfolge auflisten, in der die Seiten angezeigt werden. In manchen Fällen, z. B. in einem Menü auf einer Masterseite, die am Anfang jeder Seite auf der Website angezeigt wird, ist die Bildschirmsprachausgabe gezwungen, alle Einträge auf jeder Seite zu lesen, bevor mit dem Hauptinhalt der Seite begonnen wird. Für solche Fälle empfehlen die Richtlinien für behindertengerechte Software, Benutzern eine Möglichkeit zum Überspringen von Listen mit sich wiederholenden Verknüpfungen bereitzustellen. Die folgenden Steuerelemente implementieren eine Möglichkeit zum Überspringen von sich wiederholenden Verknüpfungen:
Jedes dieser Steuerelemente unterstützt eine SkipLinkText-Eigenschaft. Wenn diese Eigenschaft auf eine Zeichenfolge festgelegt ist (die jeden beliebigen Text enthalten kann), gibt das Steuerelement vor den Verknüpfungen einen Anchor wieder, der ein nicht angezeigtes GIF-Bild mit Alternativtext enthält. Der Alternativtext ist standardmäßig auf Skip Navigation Links festgelegt. Sie können den Text jedoch konfigurieren. Der Anchor ist mit einem anderen Anchor verknüpft, der auf das Steuerelement folgt. Dadurch können Bildschirmsprachausgaben und ähnliche Technologien Benutzern die Möglichkeit geben, die vom Steuerelement generierten Verknüpfungen zu überspringen, ohne dass die Darstellung der Seite visuell beeinträchtigt wird. Wenn die SkipLinkText-Eigenschaft auf eine leere Zeichenfolge festgelegt ist, gibt das Steuerelement die Anchortags nicht wieder.
Steuerelemente zur Wiedergabe von Tabellen
Gemäß den Richtlinien für behindertengerechte Software sollten HTML-Tabellen Folgendes enthalten:
Eine Beschriftung, die Hilfstechnologien beim Identifizieren des Zwecks der Tabelle unterstützt.
Eine Möglichkeit zum Identifizieren von Spaltenheadern.
Wenn Sie mithilfe des Table-Steuerelements eine Tabelle erstellen, können Sie deren Caption-Eigenschaft explizit festlegen. Sie können Tabellenheader mithilfe der TableHeaderRow-Klasse erstellen, indem Sie die TableSection -Eigenschaft auf die TableHeader-Enumeration der TableRowSection-Klasse festlegen. Dadurch gibt die Tabelle ein thead-Element wieder. Wenn Sie mithilfe des TableCell-Steuerelements Zellen erstellen, können Sie jede AssociatedHeaderCellID-Eigenschaft der Zelle auf die ID einer Tabellenheaderzelle festlegen. Dadurch gibt die Zelle ein header-Attribut wieder, das die Zelle der entsprechenden Spaltenüberschrift zuordnet.
Die folgenden ASP.NET-Serversteuerelemente können HTML-Tabellen wiedergeben:
Mit diesen Steuerelementen können Sie die Caption-Eigenschaft und die CaptionAlign-Eigenschaft anzeigen, um die empfohlenen Beschriftungen für die sich ergebende Tabelle zu erstellen.
Wenn Sie für diese Steuerelemente die UseAccessibleHeader-Eigenschaft festlegen, gibt das Steuerelement th-Elemente wieder, die zum Identifizieren der Spaltenheader scope-Attribute aufweisen.
Die beiden zusätzlichen Steuerelemente DataList und Repeater geben nicht automatisch thead-Elemente oder th-Elemente wieder. Sie können jedoch Headervorlagen für diese Steuerelemente definieren. Für das DataList-Steuerelement geben Headervorlagen th-Elemente wieder. Das Repeater-Steuerelement gibt Markup nicht automatisch wieder. Stattdessen definieren Sie Vorlagen für Header, Text und Footer des Steuerelements, in denen Sie beliebiges Markup angeben können. Wenn Sie angeben, dass das Repeater-Steuerelement eine HTML-Tabelle wiedergeben soll, müssen Sie das entsprechende Markup einschließen, um die Standards für behindertengerechte Software zu erfüllen.
Steuerelemente zur Wiedergabe von div-Elementen
Die Richtlinien für behindertengerechte Software empfehlen, lange Formulare in Abschnitte zu unterteilen, um die Navigation darin zu vereinfachen. Mit HTML 4.0 wurden die fieldset-Elemente und die legend-Elemente eingeführt, mit denen Webseitenentwickler ein Formular in Abschnitte unterteilen können.
In ASP.NET können Sie mit dem Panel-Steuerelement Unterteilungen in einem Formular vornehmen. Wenn Sie die GroupingText-Eigenschaft des Steuerelements auf eine Zeichenfolge festlegen, gibt das Panel-Steuerelement ein div-Element wieder, das ein fieldset-Element für den Inhalt und ein legend-Element mit der Zeichenfolge enthält, die Sie in der GroupingText-Eigenschaft verwendet haben.
Einige Webparts-Steuerelemente geben auch div-Elemente wieder. Diese Steuerelemente geben automatisch fieldset-Elemente und legend-Elemente wieder.
Validierungssteuerelemente
Auf vielen Webseiten wird neben einem Textfeld ein Sternchen (*) angezeigt, wenn ein Eintrag erforderlich ist oder wenn bei der Dateneingabe durch den Benutzer ein Fehler aufgetreten ist. Da ein Sternchen nicht aussagekräftig ist, sollten Sie in der Text-Eigenschaft und der ErrorMessage-Eigenschaft von Validierungssteuerelementen immer aussagekräftige Fehlermeldungen angeben.
Zusätzlich sollten Validierungssteuerelemente Clientskript (EnableClientScript=false) deaktivieren.
Anmeldesteuerelemente
Anmeldesteuerelemente, z. B. die Steuerelemente Login, ChangePassword, PasswordRecovery und CreateUserWizard, enthalten andere Steuerelemente, z. B. das Label-Steuerelement, das TextBox-Steuerelement sowie Validierungssteuerelemente. Da Sie als Webseitenentwickler nicht notwendigerweise direkt kontrollieren können, was die Anmeldesteuerelemente wiedergeben, wurden die Steuerelemente unter besonderer Berücksichtigung der Zugänglichkeit für Menschen mit Behinderungen entwickelt. Bei diesen Steuerelementen werden Menschen mit Behinderungen beispielsweise durch folgende Merkmale unterstützt:
Textfelder weisen zugeordnete Bezeichnungen auf.
Eingabesteuerelemente verfügen über Registerkartenindexeinstellungen.
Wenn Sie jedoch für diese Anmeldesteuerelemente Vorlagen erstellen, müssen Sie die Steuerelemente in den Vorlagen so konfigurieren, dass die Steuerelemente den Richtlinien für behindertengerechte Software entsprechen.
Clientskript und ASP.NET-Serversteuerelemente
In den WCAG-Standards wird empfohlen, Clientskript auf den Seiten nicht für funktionale Zwecke zu verwenden, sondern ausschließlich für nicht grundlegende Effekte, z. B. Mausrollover. Gemäß den Richtlinien in Abschnitt 508 ist die Verwendung von Clientskript zulässig, wenn Hilfstechnologien alle Werte verwenden können, die vom Skript zurückgegeben werden.
Einige ASP.NET-Webserver-Steuerelemente sind von Clientskript abhängig. Beispiel:
Das LinkButton-Steuerelement und das ImageButton-Steuerelement erfordern Clientskript zum Ausführen von Postbacks.
Das Calendar-Steuerelement benötigt Clientskript, um das Klicken auf Verknüpfungen mit Tagen zu unterstützen.
Die Webparts-Steuerelemente benötigen Clientskript zum Schließen, Minimieren und Bearbeiten von Verknüpfungen.
Eine vollständige Liste von Steuerelementen, die Clientskript verwenden, finden Sie unter Verwendung von Clientskript durch ASP.NET-Webserversteuerelemente.
Wenn Sie auf einer Seite Steuerelemente verwenden, für die Clientskript erforderlich ist, entspricht die Seite nicht den WCAG-Standards. Wenn die Webanwendung hundertprozentig den WCAG-Standards entsprechen muss, können Sie keine Steuerelemente auf der Seite verwenden, die auf Clientskript beruhen. Dennoch entsprechen diese Steuerelemente den in Abschnitt 508 genannten Standard für die Verwendung von Clientskript auf einer Seite.