Skip to content
cccskills
FreePublished on GitHubEnglish overview

focus-styles

Review CSS focus indicators, the visible outlines that show which element receives keyboard input. Identify missing, clipped, or misplaced indicators, check contrast and responsive states, and guide changes that make keyboard navigation easier to follow.

OriginalShow the original description

Use when reviewing stylesheets, component styles, and responsive behavior related to Provide visible custom focus indicators. Check the rendered layout across breakpoints and interaction states before proposing a fix.

AI rating100/ 100See how to install

Good for

  • Check keyboard focus visibility
  • Review CSS that removes outlines
  • Fix clipped or misplaced focus rings
  • Check focus styles across screen sizes

Overview

What it does

Checks focus indicators: the visible marks showing which link or button is currently selected during keyboard navigation. It finds outline: none and outline: 0 declarations and checks whether a visible replacement exists. It also examines outlines drawn with pseudo-elements for positioning errors and clipping caused by overflow: hidden, identifying the specific selectors or declarations involved.

When it helps

Use it when reviewing a site's accessibility or building buttons and cards with custom designs. By checking the rendered appearance at different screen widths and interaction states, you can review styles that let people follow their position while using a keyboard.

Example requests

  • “Find where this CSS removes outlines and replace them with visible focus indicators.”
  • “Check why the focus ring on this card is clipped.”
  • “Explain the difference between :focus and :focus-visible, and when to use each.”

Notes

Rendered results must be checked at different screen widths and interaction states before fixes are proposed. The source gives a 3:1 contrast ratio against adjacent colors and a solid outline at least 2px wide with an offset as guidelines.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Objective evaluation

AI rated this skill on four points using only the contents of its SKILL.md. Stars and popularity are not taken into account.

Clear instructionsIs it clear when to use it and what it does?
AGoodIt specifies when to review styles and directs checks for missing, clipped, or misplaced focus indicators.
Concrete stepsAre steps, inputs, outputs, and examples spelled out?
AGoodIt specifies outline searches, replacement checks, a correction method, and reporting of exact selectors.
SafetyAre sending data, deleting files, and running commands disclosed?
AGoodInstructions cover CSS review and correction, with no directions to delete files, read credentials, or transmit data externally.
Easy setupDoes it need few tools or API keys, and are they documented?
AGoodNo specific tool, API key, paid service, or operating system is required.

The total counts each point as A = 25, B = 15, C = 5. Rated by AI (OpenAI Codex) as of Oct 23, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (2)

  • SKILL.md2.5 KB
  • references/rule.md3.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Provide visible custom focus indicators

Users who navigate by keyboard (people with motor disabilities, power users, people in assistive technology contexts) rely entirely on focus indicators to know where they are on the page. Removing outlines without replacement makes an entire site unusable for keyboard users. WCAG 2.4.7 requires a visible focus indicator, and WCAG 2.4.13 defines a stronger size-and-contrast target for custom indicators.

Quick Reference

  • Never use outline: none or outline: 0 without a visible :focus-visible replacement
  • Use :focus-visible instead of :focus to show indicators only during keyboard navigation
  • Focus indicators must have 3:1 contrast ratio against adjacent colors (WCAG 2.2)
  • Provide at least 2px solid outline with an offset for a high-quality focus ring
  • If a focus ring is drawn with pseudo-elements, verify it is anchored to the correct positioned element and not clipped by overflow: hidden
  • If the component uses a stretched-link pattern, verify the visible focus ring follows the actual interactive element rather than a parent wrapper by accident

Check

Find all instances of outline: none, outline: 0, or :focus { outline: none } in this CSS. Check if they provide an alternative visible focus indicator. If the replacement uses pseudo-elements, also verify the ring cannot be clipped or misplaced by overflow or missing positioning context.

Fix

Replace outline: none on :focus with :focus-visible styles that provide a clearly visible custom focus ring with appropriate contrast.

Explain

Explain the difference between :focus and :focus-visible, why focus styles matter for accessibility, and how to design an accessible focus ring.

Code Review

Review stylesheets, component styles, and responsive states related to Provide visible custom focus indicators. Flag exact selectors, declarations, or breakpoints that violate the rule in the rendered UI.


For full implementation details, code examples, and framework-specific guidance, see references/rule.md.

Rule page: https://frontendchecklist.io/rules/css/focus-styles

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

404-page

FreeSummaryAI rating 100

Create and review custom 404 pages that help visitors recover from broken or moved links through search and navigation. Check the rendered page and HTTP response so missing content returns a proper 404 status.

  • Creating a helpful custom 404 page
  • Adding search and navigation for broken links
  • Checking missing pages that return HTTP 200
thedaviddias/Front-End-Checklist74.5KUpdated Oct 6, 2026

about-page

FreeSummaryAI rating 90

Audit or create a dedicated About page that explains a website’s purpose and identifies its people or organization. Review the rendered output and supporting information, including expertise and contact details, to find gaps.

  • Reviewing a website’s About page
  • Creating a page about the organization and its mission
  • Checking how operator information appears in rendered output
thedaviddias/Front-End-Checklist74.5KUpdated Oct 6, 2026

accessibility-testing

FreeSummaryAI rating 80

Review and add automated accessibility checks for components, pages, and continuous integration workflows. Use axe-based tools to detect structural and attribute issues, while identifying checks that still need keyboard or screen reader testing.

  • Review accessibility coverage for shared components
  • Add accessibility checks to page flow tests
  • Run accessibility tests in CI
thedaviddias/Front-End-Checklist74.5KUpdated Oct 6, 2026

accessible-authentication

FreeSummaryAI rating 90

Review sign-in, registration, multi-factor authentication, and account recovery for accessibility barriers. Find blocked paste, difficult code entry, and inaccessible backup methods, then suggest authentication paths that support password managers, autofill, or device approval.

  • Reviewing accessibility across the sign-in process
  • Checking verification code paste and autofill
  • Inspecting password reset and account recovery
thedaviddias/Front-End-Checklist74.5KUpdated Oct 6, 2026

accessible-notifications

FreeSummaryAI rating 100

Review form errors, success messages, and live updates so screen reader users receive important notifications. Check the HTML delivered to the browser, announcement settings, display duration, and dismissal controls, then identify specific elements that need changes.

  • Reviewing form error announcements
  • Checking success message display duration
  • Auditing live update notifications
thedaviddias/Front-End-Checklist74.5KUpdated Oct 6, 2026

accessible-tables

FreeSummaryAI rating 100

Review HTML tables so screen reader users can understand how headers and data relate. Check header markup, table descriptions, and merged cells, then identify specific fixes and ways to verify them.

  • Reviewing tables for screen reader accessibility
  • Checking header relationships in tables with merged cells
  • Reviewing table patterns in a design system
thedaviddias/Front-End-Checklist74.5KUpdated Oct 6, 2026

See all skills by thedaviddias

Report a problem with this skill