Skip to main content
21kb · Zero deps · WCAG AAA · Open Source

One CSS file.
Beautiful. Accessible.

Drop it on top of Bootstrap, Tailwind, or shadcn to fix accessibility. Or use it as your entire design system.

21kb
Minified CSS
0
Dependencies
AAA
WCAG Contrast
44px
Min Touch Target

The Problem

Every framework fails accessibility

Bootstrap buttons are 32px. Tailwind counts transitions as animations. shadcn dialogs don't trap focus. We fix all of it.

Touch targets too small

Bootstrap's .btn-sm is 32px. WCAG requires 44px minimum. One in five users can't reliably tap your buttons.

✓ cbrowser-ui enforces 44px on everything interactive

Animations ignore preferences

Tailwind's animate-* classes run regardless of prefers-reduced-motion. Some users get nauseous.

✓ cbrowser-ui pauses all motion by default

Contrast that fails AAA

Bootstrap's .text-muted is 4.6:1 — fails WCAG AAA. Tailwind's gray-400 on white? 3.0:1 — fails even AA.

✓ cbrowser-ui guarantees 7:1 on all text

Focus rings get hidden

Tailwind's focus:outline-none is used on 90% of components. Keyboard users can't see where they are.

✓ cbrowser-ui makes focus always visible


Get Started

Three ways to use it

Patch your framework, replace it, or install from npm.

Recommended

Patch your framework

One line. Zero migration. Your site passes accessibility audits.

<!-- After your framework CSS -->
<link rel="stylesheet"
  href="https://cdn.cbrowser.ai/fix-bootstrap.css">

Also: fix-tailwind.css · fix-shadcn.css · fix-material.css

Use as your framework

Replace Bootstrap or Tailwind entirely. Beautiful by default.

<link rel="stylesheet"
  href="https://cdn.cbrowser.ai/ui.css">
<script type="module"
  src="https://cdn.cbrowser.ai/ui.mjs"></script>

npm install

For build systems. Import what you need.

npm install cbrowser-ui

// ESM
import 'cbrowser-ui/css';
import { FocusTrap } from 'cbrowser-ui';

Components

Everything you need, accessible by default

Every component scores 100 on CIF. Copy the HTML.

Buttons

Form

Alerts

Badges

Default Primary Success Error

Progress

72% complete

Table

FrameworkSizeTouch TargetsMotion SafeContrast
Bootstrap 525kb✗ 32px buttons✗ No supportAA only
Tailwind CSS~15kb✗ No minimum✗ Partial✗ gray-400 fails
shadcn/ui~20kb✓ Configurable✗ PartialAA
cbrowser-ui21kb✓ 44px enforced✓ Full supportAAA (7:1)

Accordion

What is cbrowser-ui?

A CSS framework that makes any website accessible and beautiful. Use standalone or as a patch on top of Bootstrap, Tailwind, or shadcn.

Is it free?

Yes. MIT licensed, open source, free forever. The CDN is free too.

Does it work with React?

Yes. It's framework-agnostic CSS. Works with React, Vue, Svelte, plain HTML — anything.

Navigation

Breadcrumbs


Framework Patches

Before and after — one file

Same Bootstrap site. One CSS file added. CIF score jumps 40+ points.

Before — Bootstrap 5
  • .btn-sm is 32px — fails touch target
  • .nav-link is 36px — fails touch target
  • .carousel ignores motion preferences
  • .text-muted is 4.6:1 — fails AAA contrast
  • Links in body text are not underlined
  • Focus rings removed by default
CIF: 52
After — + fix-bootstrap.css
  • All buttons enforced to 44px minimum
  • Nav links padded to 44px with spacing
  • Carousel respects prefers-reduced-motion
  • Muted text boosted to 7:1 contrast
  • Content links underlined by default
  • Focus rings always visible on keyboard
CIF: 94

Theming

20 variables. Infinite designs.

Override CSS custom properties. The entire design changes. Accessibility stays perfect.

/* Your brand. Still accessible. */
:root {
  --cui-primary: #7c3aed;   /* purple */
  --cui-primary-fg: #ffffff;
  --cui-radius: 1rem;      /* rounder */
  --cui-font: 'Instrument Sans';
}

Every color combination is validated against WCAG AAA. The theme editor (coming soon) prevents you from picking colors that break contrast.


Accessible design is beautiful design.

Start with the patch for your framework. Or go all-in. Either way, every user can use your site.