Ring utilities help show a clear outline around elements when they are focused. This makes it easier for people using keyboards or assistive devices to see where they are on the page.
Ring utilities for focus states in Tailwind
ring ring-{color} ring-{width} ring-offset-{width} ring-offset-{color} focus:ring focus:ring-{color} focus:ring-{width}ring adds a ring (outline) around an element.
ring-offset adds space between the element and the ring, useful for better visibility.
<button class="focus:ring focus:ring-blue-500">Click me</button><input class="ring-2 ring-red-400 focus:ring-4 focus:ring-red-600 ring-offset-2 ring-offset-white" /><a href="#" class="focus:ring-4 focus:ring-green-400 ring-offset-4 ring-offset-gray-100">Link</a>
This page shows three elements: a button, an input, and a link. When you use the keyboard to focus each, a colored ring appears around them. The ring uses Tailwind's ring utilities with offset for clear visibility.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Ring Utilities Focus Example</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="flex flex-col items-center justify-center min-h-screen gap-6 bg-gray-50 p-6"> <button class="px-4 py-2 bg-blue-600 text-white rounded focus:outline-none focus:ring-4 focus:ring-blue-400 ring-offset-2 ring-offset-white"> Focus Me </button> <input type="text" placeholder="Type here" class="px-3 py-2 border border-gray-300 rounded focus:outline-none focus:ring-2 focus:ring-green-500 ring-offset-1 ring-offset-gray-100" /> <a href="#" class="text-indigo-600 underline focus:outline-none focus:ring-2 focus:ring-indigo-400 ring-offset-1 ring-offset-white"> Focusable Link </a> </body> </html>
Always use focus:outline-none with ring utilities to remove the default outline and show the ring instead.
Ring colors and widths can be customized using Tailwind's color and spacing scale.
Ring offset helps separate the ring from the element, improving visibility especially on colored backgrounds.
Ring utilities add visible outlines on focus to improve accessibility.
Use focus:ring classes to style focus states with color and thickness.
Ring offset adds space between the element and the ring for better clarity.