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
|
private
|
||||||
|
|
||||||
def open_source_link
|
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
|
end
|
||||||
|
|
||||||
def repository_link
|
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
|
end
|
||||||
|
|
||||||
def allowed_link_attributes
|
def allowed_link_attributes
|
||||||
|
|||||||
@@ -6,7 +6,9 @@ describe Layout::FooterComponent do
|
|||||||
render_inline Layout::FooterComponent.new
|
render_inline Layout::FooterComponent.new
|
||||||
|
|
||||||
page.find(".info") do |info|
|
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]"
|
expect(info).not_to have_css "a[target]"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user