Basics
This check is disabled by default.
Learn how to enable it via .credo.exs.
This check has a base priority of normal and works with any version of Elixir.
Explanation
Flags phx-click on elements that are not interactive (div,
span, li, ...) and give keyboard and assistive-technology users no
way in: no role, no tabindex, and no phx-keydown or phx-keyup.
Screen readers do not announce the element as clickable, and keyboard
users cannot reach it.
Before:
<div phx-click="open">Details</div>After:
<button type="button" phx-click="open">Details</button>or, when the element must stay a div:
<div role="button" tabindex="0" phx-click="open" phx-keydown="open" phx-key="Enter">Confidence: high. Tier: syntactic (works without compiling).
Check-Specific Parameters
Use the following parameters to configure this check:
:excluded_paths
Paths to skip (atoms, binaries as path segments, or regexes).
This parameter defaults to [~r/\/test\//, "test"].
:strict
Unused.
This parameter defaults to false.
:non_interactive_tags
HTML tags that are not interactive by default.
This parameter defaults to ["div", "span", "li", "td", "tr", "img", "p", "section", "article"].
General Parameters
Like with all checks, general params can be applied.
Parameters can be configured via the .credo.exs config file.