Результаты проверки – Проверка доступности веб-сайтов на C#
Aspose.HTML for .NET предоставляет пространство имен Aspose.Html.Accessibility, которое предназначено для всех манипуляций и проверок, связанных с веб-доступностью. В этой статье вы узнаете, как просматривать результаты проверок веб-сайтов на соответствие требованиям WCAG, сообщать о проверенных критериях и подробно описывать конкретные проблемы, возникшие во время проверки.
Как cоздать и использовать Accessibility Validator для проверки веб-доступности вы можете узнать из статьи Accessibility Validator – Проверка доступности веб-сайта на C#.
Класс ValidationResult
Пространство имен Aspose.Html.Accessibility.Results содержит классы, описывающие результаты проверки правил. Класс ValidationResult – это основной класс, содержащий результаты для всех критериев. Объект ValidationResult включает описание результатов проверки документа и имеет свойства:
Property | Description |
---|---|
Success | Returns a boolean that says whether the validation succeeded. |
Details | Returns IList< RuleValidationResult> containing objects of RuleValidationResult with information about validation results. |
SaveToString() | Save validation results to string |
SaveTo(TextWriter writer ) | Saves the validation results in a System.IO.TextWriter object in text format. |
SaveTo(TextWriter writer, ValidationResultSaveFormat format ) | Saves the validation results to the System.IO.TextWriter object, where the ValidationResultSaveFormat type parameter specifies in what format the text will be saved. |
Вот фрагмент кода C# для проверки веб-доступности. Он устанавливает валидатор с определенными настройками, проверяет HTML-документ и выводит результаты проверки на консоль:
1// Validate HTML against WCAG rules using C#
2
3// Initialize a webAccessibility container
4WebAccessibility webAccessibility = new WebAccessibility();
5
6// Create an accessibillity validator with static instance for all rules from repository that match the builder settings
7AccessibilityValidator validator = webAccessibility.CreateValidator(ValidationBuilder.All);
8
9// Prepare a path to a source HTML file
10string documentPath = Path.Combine(DataDir, "input.html");
11
12// Initialize an object of the HTMLDocument class
13using (HTMLDocument document = new HTMLDocument(documentPath))
14{
15 // Check the document
16 ValidationResult validationResult = validator.Validate(document);
17
18 // Checking for success
19 if (!validationResult.Success)
20 {
21 // Get a list of RuleValidationResult Details
22 foreach (RuleValidationResult detail in validationResult.Details)
23 {
24 Console.WriteLine("{0}:{1} = {2}", detail.Rule.Code, detail.Rule.Description, detail.Success);
25 }
26 }
27}
Код выводит информацию о проблемах доступности на консоль, что позволяет вам выявить и устранить конкретные проблемы в вашем HTML-документе.
Класс RuleValidationResult
Класс RuleValidationResult – результат проверки правила, содержит список результатов методов ITechniqueResult, которые являются способами удовлетворения критериев успеха.
Property | Description |
---|---|
Success | Returns a boolean that says whether the validation succeeded. |
Rule | Returns the checked rule. The rule has a type that implements the IRule interface. |
Results | Returns a collection of all results, both successful and not. Returns type is IList< ITechniqueResult>. |
Errors | Returns a collection of results with Errors. Returns type is IList< ITechniqueResult>. |
Warnings | Returns a collection of results with Warnings. Returns type is IList< ITechniqueResult>. |
Следующий код выполняет итерацию по списку объектов RuleValidationResult
в свойстве Details
объекта validationResult
. Каждый RuleValidationResult
представляет результат проверки определенного правила доступности во время процесса проверки:
1 // Get a list of RuleValidationResult Details
2 foreach (RuleValidationResult result in validationResult.Details)
3 {
4 Console.WriteLine("{0}:{1} = {2}", result.Rule.Code, result.Rule.Description, result.Success);
5 }
Предположим, Details
содержит результаты для двух правил - H37 и H67. Вывод будет следующим:
1H37:Check alt attributes for images = True
2H67:Check that all forms have labels = False
ITechniqueResult
ITechniqueResult – это общедоступный интерфейс, содержащий информацию о результате проверки.
Property | Description |
---|---|
Success | Returns a boolean that says whether the validation succeeded. |
Rule | Returns the checked technique with type of IRule. |
Error | Returns the object with error. Returns type is IError. |
Ниже приведен пример C# вывода результатов, которые не прошли проверку критериев успеха. Выводим на консоль описание кода критериев, а также все подробности выполнения методов этих критериев как успешно, так и с ошибками:
- Каждый
RuleValidationResult
представляет собой конкретный критерий доступности, оцениваемый во время проверки. Код перебирает объектыRuleValidationResult
, содержащиеся вvalidationResult.Details
. - Проверьте, не был ли критерий неудачным –
!criterionResult.Success
. Если критерий не выполнен, код сообщает информацию о неудовлетворительном критерии. - Используйте
Console.WriteLine
, чтобы распечатать код и описание критерия сбоя. - Затем выполните итерацию по объектам
ITechniqueResult
. Эти объектыITechniqueResult
представляют результаты отдельных правил для критерия, сообщившего об ошибках. - Для каждого результата правила создайте объект
StringBuilder
для форматирования информации о методе, включая код метода, успех метода и описание метода. - Распечатайте информацию о результате каждого правила, включая код метода, статус успеха и описание.
1// Validate HTML accessibility using C# and print all failed WCAG rule with their descriptions
2
3// Initialize a webAccessibility container
4WebAccessibility webAccessibility = new WebAccessibility();
5
6// Create an accessibillity validator with static instance for all rules from repository that match the builder settings
7AccessibilityValidator validator = webAccessibility.CreateValidator(ValidationBuilder.All);
8
9string documentPath = Path.Combine(DataDir, "input.html");
10
11// Initialize an object of the HTMLDocument class
12using (HTMLDocument document = new HTMLDocument(documentPath))
13{
14 // Check the document
15 ValidationResult validationResult = validator.Validate(document);
16
17 // Take a list of rules results
18 foreach (RuleValidationResult ruleResult in validationResult.Details)
19 {
20 // List only unsuccessful rule
21 if (!ruleResult.Success)
22 {
23 // Print the code and description of the rule
24 Console.WriteLine("{0}:{1}", ruleResult.Rule.Code, ruleResult.Rule.Description);
25
26 // Print the results of all methods
27 foreach (ITechniqueResult ruleDetail in ruleResult.Results)
28 {
29 // Print the code and description of the criterions
30 StringBuilder str = new StringBuilder(string.Format("\n{0}: {1} - {2}",
31 ruleDetail.Rule.Code, ruleDetail.Success,
32 ruleDetail.Rule.Description));
33 Console.WriteLine(str.ToString());
34 }
35 }
36 }
37}
Использование Aspose.HTML for .NET позволяет систематически просматривать результаты проверок веб-доступности, сообщать о проверенных критериях и подробно описывать конкретные проблемы, возникшие в процессе проверки. Это полезно для понимания природы проблем с доступностью вашего веб-контента и принятия соответствующих мер для их решения.
Смотрите также
- Статья Альтернативный Текст – Веб-доступность объясняет, как разработать веб-сайт для доступности экранного ридера в соответствии с рекомендациями WCAG с использованием API Aspose.HTML for .NET.
- Ознакомьтесь со статьей Доступность цветового контраста, если вы хотите узнать, как правильно настроить контрастность вашего веб-контента в соответствии со стандартами WCAG, мирового авторитета в области веб-доступности. Вы узнаете, как проверить доступность цветового контраста с помощью C# и сделать ваш веб-контент удобным для чтения для всех пользователей.
- В статье Валидатор доступности вы узнаете о классе AccessibilityValidator, который можно использовать для проверки правил доступности веб-сайтов, таких как принципы, руководства и критерии.
- В статье Правила веб-доступности вы узнаете, как использовать класс AccessibilityRules, который является репозиторием требований WCAG 2, критериев успеха и методов для проверок веб-доступности.
- В статье Ошибки и предупреждения обсуждаются классы и интерфейсы, которые помогают собирать информацию об ошибках и предупреждениях во время тестирования доступности веб-сайта. В ней основное внимание уделяется критериям отказа и методам, которые сообщают об ошибках, и приводится пример C# для извлечения ошибок веб-доступности после тестирования HTML-документа.
Aspose.HTML предлагает бесплатный онлайн-сервис Проверка веб-доступности. Этот инструмент сканирует веб-страницы, проверяет их на соответствие WCAG, выявляет проблемы и предлагает улучшения. Получайте мгновенную информацию о соответствии вашего веб-сайта требованиям, что позволит вам определить объем необходимых исправлений и разрыв между текущим состоянием вашего веб-сайта или HTML-документа и требованиями WCAG.