Skip to content
Critiq Docs

Search docs

Search documentation pages and rules

correctness.ui

Avoid dangling pointer or key handlers on static elements

Non-interactive elements that listen for pointer or key events without a widget role usually hide custom interaction that needs explicit semantics.

#Metadata

Rule ID
ts.react.no-static-element-with-synthetic-handlers
Severity
medium
Confidence
0.76
Languages
javascript, typescript
Presets
strict
Stability
experimental
Applies to
function
Tags
accessibility, react, rules-catalog, ui

#Why it matters

Drag handles, menus, and listboxes should expose roles and focus models; otherwise assistive technologies treat the region as inert content.

#Remediation

Promote the element to a named widget with `role`, keyboard parity, and focus order, or attach handlers to a native interactive element instead.

#Repository path

The generated metadata points to critiq-rules/libs/rules/catalog/rules/typescript/ts.react.no-static-element-with-synthetic-handlers.rule.yaml.