45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/primer/accessibility.rb', line 45
def axe_rules_to_skip(component: nil, scenario_name: nil, flatten: false)
to_skip = {
wont_fix: Set.new(AXE_RULES_TO_SKIP.dig(:wont_fix, :global) || []),
will_fix: Set.new(AXE_RULES_TO_SKIP.dig(:will_fix, :global) || [])
}
if component
to_skip[:wont_fix].merge(AXE_RULES_TO_SKIP.dig(:wont_fix, :per_component, component, :all_scenarios) || [])
to_skip[:will_fix].merge(AXE_RULES_TO_SKIP.dig(:will_fix, :per_component, component, :all_scenarios) || [])
if scenario_name
to_skip[:wont_fix].merge(AXE_RULES_TO_SKIP.dig(:wont_fix, :per_component, component, scenario_name) || [])
to_skip[:will_fix].merge(AXE_RULES_TO_SKIP.dig(:will_fix, :per_component, component, scenario_name) || [])
end
end
if flatten
flattened = to_skip.each_with_object(Set.new) do |(_, rule_set), memo|
memo.merge(rule_set)
end
return flattened.to_a
end
to_skip.transform_values(&:to_a)
end
|