Keyboard and semantics
Finds non-native click targets, mouse-only behavior, positive tab order, drag-only controls and missing focus alternatives.
Private WCAG and render-risk scan
Analysis runs in this browser. No public result URL is generated, and exported reports omit the analyzed source.
Coverage
Finds non-native click targets, mouse-only behavior, positive tab order, drag-only controls and missing focus alternatives.
Checks image alt, form labels, button names, dialogs, iframe titles, captions and audible autoplay.
Looks for reduced-motion handling and flags source patterns related to focus, pointer parity and dragging alternatives.
Reviews reserved image space, responsive sizes and raw delivery patterns without pretending to measure CLS.
Finds cleanup gaps, layout effects, data waterfalls, derived state, unstable keys, mutations and hydration hazards.
Flags dangerouslySetInnerHTML, dynamic evaluation, javascript URLs and unsafe new-tab relationships.
WCAG 2.2 source review
The checker maps conservative source signals to relevant WCAG 2.2 review areas. It does not claim conformance: computed styles, the accessibility tree, content, focus behavior and assistive-technology output exist only after the component is rendered.
| Review area | Static source signal | Runtime proof still required |
|---|---|---|
| 1.1.1 Text alternatives | Detects img and Image elements without alt and warns about generic literal alternatives. | Confirm the alternative communicates the image purpose in context and that decorative images are ignored correctly. |
| 1.2.2 Captions | Looks for a captions track inside video source and audible autoplay declarations. | Verify caption accuracy, synchronization, transcripts, audio descriptions and custom-player controls. |
| 2.1.1 Keyboard | Flags incomplete custom click targets, click-only anchors, mouse-only behavior and positive tab order. | Operate the rendered component with Tab, Shift+Tab, Enter, Space, arrows and Escape; test focus traps and return focus. |
| 2.4.7 and 2.4.11 Focus | Reports focus-outline suppression when no visible replacement is present in the pasted source. | Confirm the indicator is visible, has sufficient contrast and is not obscured by sticky or overlapping content. |
| 3.3.2 and 4.1.2 Names | Matches labels to native controls and checks names for buttons, dialogs and iframes. | Inspect the computed accessibility tree, instructions, errors, states and imported component output. |
| 2.5.7 and 2.5.8 Pointer | Finds drag handlers without a detected keyboard or single-pointer alternative. | Measure the rendered 24 by 24 CSS-pixel target requirement and test touch spacing at every breakpoint. |
React and Core Web Vitals
Source patterns can prioritize investigation, but render duration, bundle weight, LCP, INP and CLS require a production build, controlled traces and ideally real-user field data.
Images without width, height, fill or a stable aspect ratio can leave no reserved space before loading.
High-frequency listeners, layout effects and synchronous handler work deserve interaction traces on representative devices.
Listeners, intervals, observers and animation frames need ownership and cleanup to avoid retained work and duplicate subscriptions.
Time and randomness in initial markup can produce server/client differences; the scanner reports the signal, not its execution context.
Index keys and in-place sort or reverse calls can preserve incorrect state or mutate values owned by props and state.
Missing React.memo, useMemo or useCallback is not scored. Modern React Compiler setups may memoize automatically, and optimization needs profiling evidence.
WCAG defines conformance requirements, React documents runtime profiling and compiler behavior, and web.dev documents measured Core Web Vitals. Assetzaar adds a deterministic source triage layer.
Transparent scoring
FAQ
No. It treats the pasted source as inert text in your browser. It does not compile, import, render, evaluate or upload the component.
No. A clean static scan means none of its source heuristics fired. WCAG conformance requires the rendered experience, content, styles, keyboard behavior and assistive-technology output to be evaluated in context.
No. Those depend on computed styles, layout, themes, breakpoints and runtime behavior. The checker can find missing focus alternatives or labels in source, but contrast, focus traps, obscured focus and 24 by 24 pixel targets need browser testing.
No. LCP, INP, CLS and bundle weight require a built page, network and device conditions, runtime traces and ideally field data. The checker only identifies source patterns that can contribute to poor results.
No. Missing memoization is not scored because optimization depends on measured render cost and modern React Compiler configurations can memoize automatically. Profile first, then apply the narrow optimization supported by evidence.
Compile and lint the component, run automated accessibility checks on the rendered DOM, navigate with a keyboard and screen reader, test zoom and reduced motion, inspect React render traces, run Lighthouse and compare field Core Web Vitals.