Результаты проверки – Проверка доступности веб-сайтов на C#
Aspose.HTML для .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 // Initialize a webAccessibility container
2 var webAccessibility = new WebAccessibility();
3
4 // Create an accessibility validator with a static instance for all rules from repository that match the builder settings
5 var validator = webAccessibility.CreateValidator(ValidationBuilder.All);
6
7 // Initialize an object of the HTMLDocument class
8 using (var document = new Aspose.Html.HTMLDocument("index.html"))
9 {
10 // Web accessibility check
11 ValidationResult validationResult = validator.Validate(document);
12
13 // Checking for success
14 if (!validationResult.Success)
15 {
16 // Get a list of Details
17 foreach (var detail in validationResult.Details)
18 {
19 Console.WriteLine("{0}:{1} = {2}", detail.Rule.Code, detail.Rule.Description, detail.Success);
20 }
21 }
22 }
Код выводит информацию о проблемах доступности на консоль, что позволяет вам выявить и устранить конкретные проблемы в вашем 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>. |
1 // Get a list of RuleValidationResult Details
2 foreach (var result in validationResult.Details)
3 {
4 Console.WriteLine("{0}:{1} = {2}", result.Rule.Code, result.Rule.Description, result.Success);
5
6 // List of the results
7 foreach (var ruleDetail in result.Results)
8 {
9 // test code
10 }
11 }
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 // Take a list of criteria results
2 foreach (RuleValidationResult criterionResult in validationResult.Details)
3 {
4 // List only unsuccessful criteria
5 if (!criterionResult.Success)
6 {
7 // Print the code and description of the criterion
8 Сonsole.WriteLine("{0}:{1}", criterionResult.Rule.Code, criterionResult.Rule.Description);
9
10 // Print the results of all methods
11 foreach (ITechniqueResult ruleDetail in criterionResult.Results)
12 {
13 // Print the code and description of the method
14 StringBuilder str = new StringBuilder(string.Format("\n{0}: {1} - {2}",
15 ruleDetail.Rule.Code, ruleDetail.Success,
16 ruleDetail.Rule.Description));
17 Console.WriteLine(str);
18 }
19 }
20 }
Использование Aspose.HTML для .NET позволяет систематически просматривать результаты проверок веб-доступности, сообщать о проверенных критериях и подробно описывать конкретные проблемы, возникшие в процессе проверки. Это полезно для понимания природы проблем с доступностью вашего веб-контента и принятия соответствующих мер для их решения.