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.Image alias NLdoc.Validation.{Content, 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.visible_text?() end