Mark external links using the "rel" attribute
This will help search engines know these links point to external sites and it'll make it possible to style these links using the `[rel~=external]` selector. AFAIK, assistive techonologies don't use this attribute to notify people about external links, though.
This commit is contained in:
@@ -8,11 +8,15 @@ class Layout::FooterComponent < ApplicationComponent
|
||||
private
|
||||
|
||||
def open_source_link
|
||||
link_to(t("layouts.footer.open_source"), t("layouts.footer.open_source_url"), rel: "nofollow")
|
||||
external_link_to(t("layouts.footer.open_source"), t("layouts.footer.open_source_url"))
|
||||
end
|
||||
|
||||
def repository_link
|
||||
link_to(t("layouts.footer.consul"), t("layouts.footer.consul_url"), rel: "nofollow")
|
||||
external_link_to(t("layouts.footer.consul"), t("layouts.footer.consul_url"))
|
||||
end
|
||||
|
||||
def external_link_to(text, url)
|
||||
link_to(text, url, rel: "nofollow external")
|
||||
end
|
||||
|
||||
def allowed_link_attributes
|
||||
|
||||
@@ -6,7 +6,9 @@ describe Layout::FooterComponent do
|
||||
render_inline Layout::FooterComponent.new
|
||||
|
||||
page.find(".info") do |info|
|
||||
expect(info).to have_css "a[rel=nofollow]", count: 2
|
||||
expect(info).to have_css "a", count: 2
|
||||
expect(info).to have_css "a[rel~=nofollow]", count: 2
|
||||
expect(info).to have_css "a[rel~=external]", count: 2
|
||||
expect(info).not_to have_css "a[target]"
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user