hatch-surf/node_modules/eslint-plugin-jsx-a11y/docs/rules/no-onchange.md
Riley Zhang df378d33ef
Some checks failed
CI / go (push) Waiting to run
CI / docker (push) Waiting to run
CI / lint-go (push) Waiting to run
CI / lint-docs (push) Waiting to run
CI / check-paperclip (push) Waiting to run
Deploy static site / Deploy to GitHub Pages (push) Has been cancelled
Deploy static site / Deploy via Docker to hatch.surf (push) Has been cancelled
Merge GitHub main into Gitea repo (allow unrelated histories)
Resolved conflicts by taking GitHub versions for:
- .dockerignore, .gitignore, Dockerfile, README.md, docker-compose.yml

Kept deploy.sh updated to:
- Pull from GitHub (primary source)
- Push to Gitea (push-mirror)
- Build from site/ directory (GitHub structure)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-25 05:20:46 +02:00

1.6 KiB

jsx-a11y/no-onchange

This rule is deprecated.

⚠️ Deprecated: This rule is based on reports of behavior of old browsers (eg. IE 10 and below). In the meantime, this behavior has been corrected, both in newer versions of browsers as well as in the DOM spec.

Enforce usage of onBlur over/in parallel with onChange on select menu elements for accessibility. onBlur should be used instead of onChange, unless absolutely necessary and it causes no negative consequences for keyboard only or screen reader users. onBlur is a more declarative action by the user: for instance in a dropdown, using the arrow keys to toggle between options will trigger the onChange event in some browsers. Regardless, when a change of context results from an onBlur event or an onChange event, the user should be notified of the change unless it occurs below the currently focused element.

Rule details

This rule takes no arguments.

Succeed

<select onBlur={updateModel}>
  <option/>
</select>

<select>
  <option onBlur={handleOnBlur} onChange={handleOnChange} />
</select>

Fail

<select onChange={updateModel} />

Accessibility guidelines

Resources