Sha256: 5dbfb7837fa0636d4d6c47fd26ba47ceff513cfc316cbf12ddde38ae93bd41ff
Contents?: true
Size: 593 Bytes
Versions: 2
Compression:
Stored size: 593 Bytes
Contents
module InlineSvg::TransformPipeline::Transformations class AriaAttributes < Transformation def transform(doc) doc = Nokogiri::XML::Document.parse(doc.to_html) svg = doc.at_css("svg") # Add role svg["role"] = "img" # Build aria-labelledby string aria_elements = [] doc.search("svg title").each { |_| aria_elements << "title" } doc.search("svg desc").each { |_| aria_elements << "desc" } aria_elements.uniq! if aria_elements.any? svg["aria-labelledby"] = aria_elements.join(" ") end doc end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
inline_svg-0.8.0 | lib/inline_svg/transform_pipeline/transformations/aria_attributes.rb |
inline_svg-0.7.0 | lib/inline_svg/transform_pipeline/transformations/aria_attributes.rb |