Thanks to visit codestin.com
Credit goes to github.com

Skip to content

chore(site/.oxlintrc.jsonc): enable oxlint anchor-ambiguous-text rule - #29191

Merged
jeremyruppel merged 1 commit into
mainfrom
jeremyruppel/enable-anchor-ambiguous-text
Sep 10, 2026
Merged

chore(site/.oxlintrc.jsonc): enable oxlint anchor-ambiguous-text rule#29191
jeremyruppel merged 1 commit into
mainfrom
jeremyruppel/enable-anchor-ambiguous-text

Conversation

@jeremyruppel

Copy link
Copy Markdown
Contributor

Enables the anchor-ambiguous-text oxlint rule (jsx-a11y), moving it out of the migration backlog and setting it to error.

The codebase already has zero violations, so no code changes were needed. Verified with oxlint --deny-warnings (0 warnings, 0 errors) and confirmed the rule is active by testing it against a known-bad <a>click here</a> sample.

Per request, the corresponding Biome rule (a11y/noAmbiguousAnchorText) is intentionally left enabled for now so both linters double-check this.


This PR was generated by Coder Agents on behalf of @jeremyruppel.

@jeremyruppel
jeremyruppel marked this pull request as ready for review September 10, 2026 19:10
@jeremyruppel
jeremyruppel added this pull request to stack #29193 September 10, 2026 20:07
@jeremyruppel
jeremyruppel merged commit a18642a into main Sep 10, 2026
53 of 54 checks passed
@jeremyruppel
jeremyruppel deleted the jeremyruppel/enable-anchor-ambiguous-text branch September 10, 2026 21:30
jeremyruppel added a commit that referenced this pull request Sep 10, 2026
Enables the `role-supports-aria-props` oxlint rule (jsx-a11y), moving it
out of the migration backlog and setting it to `error`.

Stacked on top of #29191. Review that PR first; the base of this PR is
its branch.

## Fixes for the two violations the rule surfaced

- **`Autocomplete.tsx` (select-only trigger button):** removed
`aria-invalid` from the `<button>`. `aria-invalid` is not exposed by the
implicit `button` role, so it had no effect for assistive tech. The
error message linkage via `aria-describedby` (a global attribute) is
kept. The only consumer that sets an invalid state
(`ModelIdentifierField`) uses the `inlineSearch` variant, which renders
an `<input role="combobox">` that still keeps `aria-invalid` (valid
there).
- **`AgentLatency.tsx` (latency popover trigger):** the trigger was a
`<span role="presentation" aria-label="latency">`; `presentation` does
not support `aria-label`, and a presentational role on an interactive
trigger is wrong. Converted it to a real `<button>` with reset styling
so it stays visually identical (inline colored text, no button chrome)
while being a focusable, correctly-labeled control.

## Verification

- `oxlint --deny-warnings`: 0 warnings, 0 errors.
- `biome lint --error-on-warnings` on the changed files: clean.
- `tsc -p .`: clean.
- Storybook visual check of `components/AgentRow --example`: latency
renders as inline colored text (no boxed button) and clicking it still
opens the "Latency" popover.

---
_This PR was generated by Coder Agents on behalf of @jeremyruppel._
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants