Class: Uniword::Accessibility::AccessibilityRule Abstract
- Inherits:
-
Object
- Object
- Uniword::Accessibility::AccessibilityRule
- Defined in:
- lib/uniword/accessibility/accessibility_rule.rb
Overview
Subclass and implement #check to create a rule
Accessibility Rule - base class for all accessibility rules
Responsibility: Define rule interface and common functionality Single Responsibility: Rule interface and violation creation only
Direct Known Subclasses
Rules::ColorUsageRule, Rules::ContrastRatioRule, Rules::DescriptiveHeadingsRule, Rules::DocumentTitleRule, Rules::HeadingStructureRule, Rules::ImageAltTextRule, Rules::LanguageSpecificationRule, Rules::ListStructureRule, Rules::ReadingOrderRule, Rules::TableHeadersRule
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#level ⇒ Object
readonly
Returns the value of attribute level.
-
#rule_id ⇒ Object
readonly
Returns the value of attribute rule_id.
-
#wcag_criterion ⇒ Object
readonly
Returns the value of attribute wcag_criterion.
Instance Method Summary collapse
-
#check(document) ⇒ Array<AccessibilityViolation>
Check document against rule.
-
#enabled? ⇒ Boolean
Check if rule is enabled.
-
#initialize(config) ⇒ AccessibilityRule
constructor
Initialize a new accessibility rule.
Constructor Details
#initialize(config) ⇒ AccessibilityRule
Initialize a new accessibility rule
31 32 33 34 35 36 |
# File 'lib/uniword/accessibility/accessibility_rule.rb', line 31 def initialize(config) @config = config || {} @rule_id = derive_rule_id @wcag_criterion = @config[:wcag_criterion] @level = @config[:level] end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
22 23 24 |
# File 'lib/uniword/accessibility/accessibility_rule.rb', line 22 def config @config end |
#level ⇒ Object (readonly)
Returns the value of attribute level.
22 23 24 |
# File 'lib/uniword/accessibility/accessibility_rule.rb', line 22 def level @level end |
#rule_id ⇒ Object (readonly)
Returns the value of attribute rule_id.
22 23 24 |
# File 'lib/uniword/accessibility/accessibility_rule.rb', line 22 def rule_id @rule_id end |
#wcag_criterion ⇒ Object (readonly)
Returns the value of attribute wcag_criterion.
22 23 24 |
# File 'lib/uniword/accessibility/accessibility_rule.rb', line 22 def wcag_criterion @wcag_criterion end |
Instance Method Details
#check(document) ⇒ Array<AccessibilityViolation>
Check document against rule
50 51 52 |
# File 'lib/uniword/accessibility/accessibility_rule.rb', line 50 def check(document) raise NotImplementedError, "#{self.class} must implement #check" end |
#enabled? ⇒ Boolean
Check if rule is enabled
41 42 43 |
# File 'lib/uniword/accessibility/accessibility_rule.rb', line 41 def enabled? @config.fetch(:enabled, true) end |