We've had an accessibility error reported by the Spanish "Portal
Administración electrónica" (PAe). While I can't find any accessibility
rule saying empty lists should be avoided, it looks like some screen
readers report finding lists with 0 items, which is annoying.
We could also do it with CSS using `ul:empty { display: none}`. However,
at the time of writing no browser supports this rule when the tag
contains whitespace.
40 lines
1.1 KiB
Ruby
40 lines
1.1 KiB
Ruby
require "rails_helper"
|
|
|
|
describe Layout::SocialComponent, type: :component do
|
|
describe "#render?" do
|
|
it "renders when a social setting is present" do
|
|
Setting["twitter_handle"] = "myhandle"
|
|
|
|
render_inline Layout::SocialComponent.new
|
|
|
|
expect(page).to have_css "ul"
|
|
end
|
|
|
|
it "renders when a content block is present" do
|
|
Setting["twitter_handle"] = ""
|
|
Setting["facebook_handle"] = ""
|
|
Setting["youtube_handle"] = ""
|
|
Setting["telegram_handle"] = ""
|
|
Setting["instagram_handle"] = ""
|
|
|
|
create(:site_customization_content_block, name: "footer")
|
|
|
|
render_inline Layout::SocialComponent.new
|
|
|
|
expect(page).to have_css "ul"
|
|
end
|
|
|
|
it "does not render with no settings present and no content block present" do
|
|
Setting["twitter_handle"] = ""
|
|
Setting["facebook_handle"] = ""
|
|
Setting["youtube_handle"] = ""
|
|
Setting["telegram_handle"] = ""
|
|
Setting["instagram_handle"] = ""
|
|
|
|
render_inline Layout::SocialComponent.new
|
|
|
|
expect(page).not_to have_css "ul"
|
|
end
|
|
end
|
|
end
|