diff --git a/lib/erblint-github/linters/github/accessibility/avoid_generic_link_text_counter.rb b/lib/erblint-github/linters/github/accessibility/avoid_generic_link_text_counter.rb
index ad97d0c..e353967 100644
--- a/lib/erblint-github/linters/github/accessibility/avoid_generic_link_text_counter.rb
+++ b/lib/erblint-github/linters/github/accessibility/avoid_generic_link_text_counter.rb
@@ -113,7 +113,7 @@ def autocorrect(processed_source, offense)
private
def banned_text?(text)
- BANNED_GENERIC_TEXT.map(&:downcase).include?(text.downcase)
+ BANNED_GENERIC_TEXT.map(&:downcase).include?(text.downcase.gsub(/\W+/, " ").strip)
end
def valid_accessible_name?(aria_label, text)
diff --git a/test/linters/accessibility/avoid_generic_link_text_counter_test.rb b/test/linters/accessibility/avoid_generic_link_text_counter_test.rb
index 966de85..7b5fca0 100644
--- a/test/linters/accessibility/avoid_generic_link_text_counter_test.rb
+++ b/test/linters/accessibility/avoid_generic_link_text_counter_test.rb
@@ -42,6 +42,19 @@ def test_warns_when_link_text_is_link
refute_empty @linter.offenses
end
+ def test_warns_when_link_text_is_banned_text_with_punctuation_and_space
+ @file = <<~ERB
+ Learn more!
+ read more.
+ click here.
+ ERB
+ @linter.run(processed_source)
+
+ refute_empty @linter.offenses
+ # 3 offenses, 1 related to matching counter comment not present despite violations
+ assert_equal 4, @linter.offenses.count
+ end
+
def test_does_not_warn_when_banned_text_is_part_of_more_text
@file = "Learn more about GitHub Stars"
@linter.run(processed_source)