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