Regeln für die Barrierefreiheit im Web – Überprüfung der Barrierefreiheit von Websites nach WCAG

Aspose.HTML for .NET bietet den Aspose.Html.Accessibility Namespace, der für alle Manipulationen und Prüfungen im Zusammenhang mit der Barrierefreiheit im Web gedacht ist. In diesem Artikel lernen Sie, wie Sie die Klasse AccessibilityRules verwenden, die ein Repository der WCAG 2.0 Anforderungen, Erfolgskriterien und Techniken ist.

Wie Sie die Klasse AccessibilityValidator verwenden, um die Barrierefreiheit im Web zu prüfen, erfahren Sie im Artikel Accessibility Validator – Website-Barrierefreiheitsprüfung in C#.

Zugänglichkeitsregeln sind eine Reihe von Richtlinien, Standards oder bewährten Verfahren, die festlegen, wie digitale Inhalte und Schnittstellen gestaltet und entwickelt werden sollten, um sicherzustellen, dass sie für Menschen mit Behinderungen zugänglich sind. Diese Richtlinien sollen digitale Inhalte wie Websites, Apps und Multimedia für eine Vielzahl von Menschen zugänglich machen, einschließlich Menschen mit Seh-, Hör-, Bewegungs- und kognitiven Beeinträchtigungen. Zugänglichkeitsregeln sind entscheidend für die Förderung der digitalen Inklusion und dafür, dass alle Menschen gleichberechtigten Zugang zu Online-Informationen und -Diensten haben.

Die Struktur der Kurzreferenz kann in Form eines Diagramms dargestellt werden, das unten abgebildet ist:

Text “Die Struktur der Regeln für die Barrierefreiheit im Internet – Grundsätze, Leitlinien und Kriterien”

Das Verzeichnis enthält die Regeln, die die Schnittstelle IRule implementieren.

Regeln für die Zugänglichkeit

Die Klasse AccessibilityRules ist ein Repository von WCAG 2.0-Anforderungen, Erfolgskriterien und Techniken und hat eine Struktur, die der Spezifikation WCAG (Quick Reference) entspricht. Um die Liste der Regeln anzuzeigen, müssen Sie den Container WebAccessibility initialisieren und die Eigenschaft Rules verwenden.

1    // Initialize a webAccessibility container
2    var webAccessibility = new WebAccessibility();
3
4    // Get the accessibilityRules repository
5    AccessibilityRules accessibilityRules = webAccessibility.Rules;

Die Eigenschaft gibt ein Objekt vom Typ AccessibilityRules zurück, das über solche Methoden für den Zugriff auf die Regeln verfügt:

MethodsDescription
GetPrinciple(string code)Returns Principle object by code from WCAG.
GetPrinciples()Returns a list of principles IList< Principle>.
GetRules(params string[] codes)Returns a list of rules IList< IRule> for given codes from WCAG.

Das Verzeichnis enthält Regeln, die von der abstrakten Klasse Rule erben. Es gibt mehrere Arten von Regeln:

IRule

Alle Regeln implementieren die Schnittstelle IRule, eine öffentliche Schnittstelle, die die grundlegenden Eigenschaften der Regeln definiert:

PropertyDescription
CodeRule code from the quick reference WCAG.
DescriptionDescription of Rule from the quick reference WCAG.

Rule

Die abstrakte Basisklasse für alle Regeln, die die Schnittstelle IRule implementiert. Um eine beliebige Regel zu erhalten, können Sie die Methode GetRules() verwenden:

 1// Retrieve and list accessibility rules by code with their descriptions from the rules repository
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// List of rule codes can contain both technique codes and principles, guidelines and criteria - all rules that implement the interface IRule
 7string[] rulesCodes = new string[] { "H2", "H37", "H30", "1.1", "1.2.1" };
 8
 9// Get a list of IRule objects; if a rule with the specified code is not found, it will not be in the list
10IList<IRule> rules = webAccessibility.Rules.GetRules(rulesCodes);
11
12// Get code and description of rule
13foreach (IRule rule in rules)
14    Console.WriteLine("{0}:{1}", rule.Code, rule.Description);
Example-GetRules.cs hosted with ❤ by GitHub

Das Programm wird auf der Konsole ausgegeben:

1    H2:Combining adjacent image and text links for the same resource
2    H37:Using alt attributes on img elements
3    H30:Providing link text that describes the purpose of a link for anchor elements
4    1.1:Text Alternatives
5    1.2.1:Audio-only and Video-only (Prerecorded)

Principle

Auf der ersten Ebene der Liste der Regeln sind die Prinzipien, sie zeigen die Hauptrichtung und den Zweck der Regeln, die in diesem Abschnitt sind. Daher beginnt die Arbeit mit dem Verzeichnis mit ihnen.

Die Klasse Principle hat von Rule geerbt und enthält ebenfalls eine Liste von Leitlinien.

MethodDescription
GetGuideline(string code)Get Guideline by code from WCAG, contained in principle. Return Guideline object.
GetGuidelines()Get a list of Guideline from Principle. Return IList<Guideline> object.

Ein Beispiel dafür, wie man ein Principle-Objekt aus einer Liste von Regeln erhält:

 1// Retrieve and display the code and description of an accessibility principle by its code
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Get the principle by code
 7Principle rule = webAccessibility.Rules.GetPrinciple("1");
 8
 9// Get code and description of principle
10Console.WriteLine("{0}:{1}", rule.Code, rule.Description);  // output: 1:Perceivable
Example-GetPrinciple.cs hosted with ❤ by GitHub

Guideline

Die Klasse Guideline hat von Rule geerbt und enthält eine Kriterienliste. Leitlinien sind die nächste Ebene nach den Grundsätzen. Sie umreißen Rahmenbedingungen und allgemeine Ziele, die den Autoren helfen, Erfolgskriterien zu verstehen und die Techniken besser anzuwenden.

MethodDescription
GetCriterion(string code)Get Guideline by code from WCAG, contained in current Guideline. Return Criterion object.
GetCriterions()Get a list of Criterion from current Guideline. Return IList< Criterion> object.

Ein Beispiel dafür, wie man ein Guideline-Objekt aus einer Liste von Regeln erhält:

 1// Retrieve and display the code and description of an accessibility guideline
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Get the principle by code 
 7Principle principle = webAccessibility.Rules.GetPrinciple("1");
 8
 9// Get guideline 1.1
10Guideline guideline = principle.GetGuideline("1.1");
11if (guideline != null)
12{
13    Console.WriteLine("{0}:{1}", guideline.Code, guideline.Description, guideline);  // output: 1.1:Text Alternatives
14}
Example-GetGuideline.cs hosted with ❤ by GitHub

Criterion

Die Klasse Criterion beschreibt die WCAG Erfolgskriterien, geerbt von der abstrakten Klasse Rule. Detaillierte Informationen finden Sie hier – Understanding Techniques for WCAG Success Criteria. Die Grundlage für die Bestimmung der Konformität mit WCAG 2.0 sind die Erfolgskriterien des Standards – nicht die Techniken.

Für jede Empfehlung werden überprüfbare Erfolgskriterien angegeben, so dass die WCAG 2.0 in Bereichen angewendet werden können, in denen eine Prüfung der Einhaltung erforderlich ist.

PropertyDescription
LevelCompliance levels: A (lowest), AA and AAA (highest).
SufficientTechniquesReturns list of Sufficient techniques that are reliable ways to meet the success criteria.
AdvisoryTechniquesReturns list of Advisory techniques that are suggested ways to improve accessibility. They are often very helpful to some users, and may be the only way that some users can access some types of content.
FailuresReturns list of Failures that are things that cause accessibility barriers and fail specific success criteria.

Das Kriterium enthält eine Liste von techniques zur Erfüllung der WCAG-Richtlinien für die Zugänglichkeit von Webinhalten. Wenn alle ausreichenden Methoden für ein bestimmtes Kriterium von der Zugänglichkeit unterstützt werden, dann ist das Erfolgskriterium erfüllt.

Verwenden Sie die Methode GetCriterion(), um auf die Kriterien der Leitlinie zuzugreifen:

 1// Retrieve and display the code and description of an accessibility criterion
 2
 3// Initialize a webAccessibility container
 4WebAccessibility webAccessibility = new WebAccessibility();
 5
 6// Get the principle by code 
 7Principle principle = webAccessibility.Rules.GetPrinciple("1");
 8
 9// Get guideline 
10Guideline guideline = principle.GetGuideline("1.1");
11
12// Get criterion by code
13Criterion criterion = guideline.GetCriterion("1.1.1");
14if (criterion != null)
15{
16    Console.WriteLine("{0}:{1} - {2}", criterion.Code, criterion.Description, criterion.Level); // output: 1.1.1:Non-text Content - A
17
18    // Get all Sufficient Techniques and write to console
19    foreach (IRule technique in criterion.SufficientTechniques)
20        Console.WriteLine("{0}:{1}", technique.Code, technique.Description);
21}
Example-GetCriterion.cs hosted with ❤ by GitHub

Prüfen Sie HTML auf bestimmte Regeln für die Barrierefreiheit im Web

 1// Validate an HTML document using specific rule codes with C#
 2
 3string htmlPath = Path.Combine(DataDir, "input.html");
 4
 5// Initialize a webAccessibility container
 6WebAccessibility webAccessibility = new WebAccessibility();
 7
 8// List of necessary rules for checking (rule code according to the specification) 
 9string[] rulesCode = new string[] { "H2", "H37", "H67", "H86" };
10
11// Get the required IList<Rule> rules from the rules reference
12IList<IRule> rules = webAccessibility.Rules.GetRules(rulesCode);
13
14// Create an accessibility validator, pass the found rules as parameters, and specify the full validation settings
15AccessibilityValidator validator = webAccessibility.CreateValidator(rules, ValidationBuilder.All);
16
17// Initialize an object of the HTMLDocument
18using (HTMLDocument document = new HTMLDocument(htmlPath))
19{
20    // Check the document
21    ValidationResult validationResult = validator.Validate(document);
22
23    // Return the result in string format
24    // SaveToString - return only errors and warnings
25    Console.WriteLine(validationResult.SaveToString());
26}

See Also

  • Im Kapitel Zugänglichkeitsprüfung erfahren Sie, wie Sie die Zugänglichkeit einer Website auf die Einhaltung der WCAG überprüfen oder nur bestimmte Kriterien erfüllen können, indem Sie Klassen und Methoden der Namespaces Aspose.Html.Accessibility und Aspose.Html.Accessibility.Results verwenden.
  • Der Artikel Screen Reader Accessibility erklärt, wie man eine Website für die Zugänglichkeit von Bildschirmlesegeräten gemäß den WCAG-Richtlinien unter Verwendung der Aspose.HTML for .NET API gestaltet.
  • Schauen Sie sich den Artikel Farbkontrast in C# prüfen an, wenn Sie erfahren möchten, wie Sie den Kontrast Ihrer Webinhalte richtig an die WCAG-Standards, die weltweite Autorität für Barrierefreiheit im Web, anpassen. Sie erfahren, wie Sie die Zugänglichkeit von Farbkontrasten mit C# testen und Ihre Webinhalte für alle Benutzer leicht lesbar machen können.
  • In dem Artikel Web-Zugänglichkeitsregeln erfahren Sie, wie Sie die Klasse AccessibilityRules, eine Sammlung von WCAG-2-Anforderungen, Erfolgskriterien und Techniken, für Prüfungen der Barrierefreiheit im Web verwenden können.
  • Der Artikel Fehler und Warnungen behandelt die Klassen und Schnittstellen, mit deren Hilfe Informationen über Fehler und Warnungen während des Testens der Barrierefreiheit von Websites gesammelt werden können. Er konzentriert sich auf die Fehlerkriterien und Methoden, die Fehler melden, und bietet ein C#-Beispiel zum Abrufen von Fehlern bei der Barrierefreiheit nach dem Testen eines HTML-Dokuments.

Aspose.HTML bietet einen kostenlosen Online- Web-Zugänglichkeits-Checker. Dieses Tool scannt Webseiten, prüft sie auf WCAG-Konformität, identifiziert Probleme und schlägt Verbesserungen vor. Sie erhalten sofortige Einblicke in die Konformität Ihrer Website und können so den Umfang der notwendigen Korrekturen und die Lücke zwischen dem aktuellen Zustand Ihrer Website oder Ihres HTML-Dokuments und den WCAG-Anforderungen bestimmen.

Text “Web-Zugänglichkeits-Checker”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.