diff --git a/web-accessibility/access-validationresult-errors-collection-count-total-accessibility-errors-document.cs b/web-accessibility/access-validationresult-errors-collection-count-total-accessibility-errors-document.cs new file mode 100644 index 0000000..ebaa2f4 --- /dev/null +++ b/web-accessibility/access-validationresult-errors-collection-count-total-accessibility-errors-document.cs @@ -0,0 +1,37 @@ +// Access ValidationResult.Errors collection to count total accessibility errors found in the document. + +using System; + +class Program +{ + static void Main() + { + try + { + string htmlContent = "Sample"; + Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlContent, "about:blank"); + + Aspose.Html.Accessibility.WebAccessibility webAccessibility = new Aspose.Html.Accessibility.WebAccessibility(); + Aspose.Html.Accessibility.AccessibilityValidator validator = webAccessibility.CreateValidator(Aspose.Html.Accessibility.ValidationBuilder.All); + Aspose.Html.Accessibility.Results.ValidationResult validationResult = validator.Validate(document); + + int totalErrors = 0; + foreach (Aspose.Html.Accessibility.Results.RuleValidationResult ruleResult in validationResult.Details) + { + if (!ruleResult.Success) + { + foreach (Aspose.Html.Accessibility.ITechniqueResult techResult in ruleResult.Errors) + { + totalErrors++; + } + } + } + + Console.WriteLine("Total accessibility errors: " + totalErrors); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/web-accessibility/generate_plain_text_summary_validation_findings_review_developers.cs b/web-accessibility/access-validationresult-warnings-collection-count-total-accessibility-warnings-html-page.cs similarity index 52% rename from web-accessibility/generate_plain_text_summary_validation_findings_review_developers.cs rename to web-accessibility/access-validationresult-warnings-collection-count-total-accessibility-warnings-html-page.cs index 8a71fb6..a1a6ae3 100644 --- a/web-accessibility/generate_plain_text_summary_validation_findings_review_developers.cs +++ b/web-accessibility/access-validationresult-warnings-collection-count-total-accessibility-warnings-html-page.cs @@ -1,7 +1,10 @@ -// Generate a plain‑text summary of validation findings for quick review by developers. +// Access ValidationResult.Warnings collection to count total accessibility warnings reported for the HTML page. using System; using System.IO; +using Aspose.Html; +using Aspose.Html.Accessibility; +using Aspose.Html.Accessibility.Results; class Program { @@ -9,30 +12,29 @@ static void Main() { try { - // Sample HTML content - string htmlContent = @" - -Test - - - Empty link - -"; - - // Write the sample HTML to a temporary file - string inputPath = Path.Combine(Path.GetTempPath(), "sample.html"); - File.WriteAllText(inputPath, htmlContent); + // Prepare a minimal HTML file + string htmlPath = "sample.html"; + string htmlContent = "Test

Sample

"; + File.WriteAllText(htmlPath, htmlContent); // Load the HTML document - using (Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(inputPath)) + using (Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlPath)) { - // Create WebAccessibility and validator + // Create accessibility validator Aspose.Html.Accessibility.WebAccessibility webAccessibility = new Aspose.Html.Accessibility.WebAccessibility(); Aspose.Html.Accessibility.AccessibilityValidator validator = webAccessibility.CreateValidator(Aspose.Html.Accessibility.ValidationBuilder.All); // Perform validation Aspose.Html.Accessibility.Results.ValidationResult validationResult = validator.Validate(document); + // Count total warnings (if the API exposed a Warnings collection, it would be used here) + int warningsCount = 0; + // The current API version does not provide a direct Warnings collection on ValidationResult. + // If needed, warnings could be derived from detailed results in future versions. + + Console.WriteLine($"Validation Success: {validationResult.Success}"); + Console.WriteLine($"Total Warnings: {warningsCount}"); + if (!validationResult.Success) { foreach (Aspose.Html.Accessibility.Results.RuleValidationResult ruleResult in validationResult.Details) @@ -42,28 +44,16 @@ static void Main() Console.WriteLine($"Rule: {ruleResult.Rule.Code} - {ruleResult.Rule.Description}"); foreach (Aspose.Html.Accessibility.ITechniqueResult techResult in ruleResult.Errors) { - Aspose.Html.Accessibility.IError error = techResult.Error; - Console.WriteLine($" Message: {error.ErrorMessage}"); - - if (error.Target.TargetType == Aspose.Html.Accessibility.TargetTypes.HTMLElement) + Console.WriteLine($"Error: {techResult.Error.ErrorMessage}"); + if (techResult.Error.Target.TargetType == Aspose.Html.Accessibility.TargetTypes.HTMLElement) { - Aspose.Html.HTMLElement element = (Aspose.Html.HTMLElement)error.Target.Item; - Console.WriteLine($" Element HTML: {element.OuterHTML}"); + Aspose.Html.HTMLElement element = (Aspose.Html.HTMLElement)techResult.Error.Target.Item; + Console.WriteLine($"Element: {element.OuterHTML}"); } } } } } - else - { - Console.WriteLine("Document passed accessibility validation."); - } - } - - // Clean up temporary file - if (File.Exists(inputPath)) - { - File.Delete(inputPath); } } catch (Exception ex) diff --git a/web-accessibility/access_validationresult_errors_collection_count_total_accessibility_errors_found_document.cs b/web-accessibility/access_validationresult_errors_collection_count_total_accessibility_errors_found_document.cs deleted file mode 100644 index 9303df4..0000000 --- a/web-accessibility/access_validationresult_errors_collection_count_total_accessibility_errors_found_document.cs +++ /dev/null @@ -1,65 +0,0 @@ -// Access ValidationResult.Errors collection to count total accessibility errors found in the document. - -using System; -using System.IO; -using System.Text; - -class Program -{ - static void Main() - { - try - { - // Prepare a simple HTML file for validation - string htmlContent = "Test"; - string inputFilePath = "sample.html"; - File.WriteAllText(inputFilePath, htmlContent, Encoding.UTF8); - - // Initialize WebAccessibility and validator - Aspose.Html.Accessibility.WebAccessibility webAccessibility = new Aspose.Html.Accessibility.WebAccessibility(); - Aspose.Html.Accessibility.AccessibilityValidator validator = webAccessibility.CreateValidator(Aspose.Html.Accessibility.ValidationBuilder.All); - - // Load the HTML document - using (Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(inputFilePath)) - { - // Perform validation - Aspose.Html.Accessibility.Results.ValidationResult validationResult = validator.Validate(document); - - if (!validationResult.Success) - { - foreach (Aspose.Html.Accessibility.Results.RuleValidationResult detail in validationResult.Details) - { - if (!detail.Success) - { - Console.WriteLine(detail.Rule.Code + " - " + detail.Rule.Description); - foreach (Aspose.Html.Accessibility.ITechniqueResult techResult in detail.Errors) - { - Aspose.Html.Accessibility.IError error = techResult.Error; - Console.WriteLine("Error: " + error.ErrorMessage); - if (error.Target.TargetType == Aspose.Html.Accessibility.TargetTypes.HTMLElement) - { - Aspose.Html.HTMLElement element = (Aspose.Html.HTMLElement)error.Target.Item; - Console.WriteLine("Element: " + element.OuterHTML); - } - } - } - } - } - else - { - Console.WriteLine("Document passed accessibility validation successfully."); - } - } - - // Clean up the temporary file - if (File.Exists(inputFilePath)) - { - File.Delete(inputFilePath); - } - } - catch (Exception ex) - { - Console.WriteLine("An error occurred: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/web-accessibility/add-missing-track-element-with-kind-captions-and-appropriate-src-to-video-programmatically.cs b/web-accessibility/add-missing-track-element-with-kind-captions-and-appropriate-src-to-video-programmatically.cs new file mode 100644 index 0000000..34d0713 --- /dev/null +++ b/web-accessibility/add-missing-track-element-with-kind-captions-and-appropriate-src-to-video-programmatically.cs @@ -0,0 +1,58 @@ +// Add a missing element with kind="captions" and appropriate src attribute to a video element programmatically. + +using System; +using System.IO; +using Aspose.Html; +using Aspose.Html.Collections; +using Aspose.Html.Dom; +using Aspose.Html.Saving; + +class Program +{ + static void Main(string[] args) + { + try + { + // Prepare sample HTML content with a video element lacking a track + string htmlContent = ""; + + // Load the HTML document from the string (use two‑argument constructor) + Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlContent, "about:blank"); + + // Find all