Class: Uniword::Accessibility::Rules::ImageAltTextRule
- Inherits:
-
AccessibilityRule
- Object
- AccessibilityRule
- Uniword::Accessibility::Rules::ImageAltTextRule
- Defined in:
- lib/uniword/accessibility/rules/image_alt_text_rule.rb
Overview
Image Alt Text Rule - WCAG 1.1.1 Non-text Content
Responsibility: Check that images have alternative text Single Responsibility: Image alt text validation only
WCAG 1.1.1 Level A: All non-text content must have text alternative
Instance Attribute Summary
Attributes inherited from AccessibilityRule
#config, #level, #rule_id, #wcag_criterion
Instance Method Summary collapse
-
#check(document) ⇒ Array<AccessibilityViolation>
Check document images for alt text.
Methods inherited from AccessibilityRule
Constructor Details
This class inherits a constructor from Uniword::Accessibility::AccessibilityRule
Instance Method Details
#check(document) ⇒ Array<AccessibilityViolation>
Check document images for alt text
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/uniword/accessibility/rules/image_alt_text_rule.rb', line 17 def check(document) violations = [] document.images.each_with_index do |image, index| # Check for alt text existence if image.alt_text.nil? || image.alt_text.strip.empty? violations << create_violation( message: "Image #{index + 1} missing alternative text", element: image, severity: @config[:severity] || :error, suggestion: @config[:suggestion] || "Add descriptive alternative text using image.alt_text = '...'", ) next # Skip quality checks if no alt text end # Check alt text quality if enabled next unless @config[:check_quality] violations.concat(check_alt_text_quality(image, index)) end violations end |