Current section

Files

Jump to
nldoc_validation lib nldoc validation rules image_must_have_alt.ex
Raw

lib/nldoc/validation/rules/image_must_have_alt.ex

defmodule NLdoc.Validation.Rules.ImageMustHaveAlt do
@moduledoc """
This rule validates that an image has an alternative text, or is marked as decorative.
"""
alias NLdoc.Spec.{Content, Image}
alias NLdoc.Validation.Severity
use NLdoc.Validation.Rule,
severity: Severity.error(),
rule: "image-alt",
ruleset: "https://dequeuniversity.com/rules/axe/html",
ruleset_version: "4.10",
validates: [Image]
@impl true
def valid?(%Image{decorative: false, alternative_text: alt}, _),
do: alt |> Content.discernible_text?()
end