Plain HTML that looks, acts, and checks out

Small, independent tools for semantic HTML. No classes to learn, no framework, no build step, and every page still works with JavaScript off.

Meet the tools Guide for AI agents

The tools

Use one, or all four. Each stands alone.

TagBrush.css

One stylesheet that makes plain HTML look finished, in light and dark mode. No JavaScript.

Demo and theme builder

TagAction

One script that makes tags behave: sortable tables, copy buttons, dialogs, menus, live totals.

Try every behavior

TagCheck

A command that finds semantic and accessibility mistakes, for people, CI, and AI agents.

What it checks

TagKit

Page templates and snippets to copy, plus themes for Jekyll, MkDocs, Hugo, WordPress, and Pandoc.

The gallery

One page, three tools

This is the whole page: two lines in <head> and the HTML that means what you want.

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/tagbrush@1/tagbrush.min.css">
<script src="https://cdn.jsdelivr.net/npm/tagaction@0/tagaction.min.js" defer></script>

<table>
  <thead><tr><th>Customer</th><th>Total</th><th>Status</th></tr></thead>
  <tbody>
    <tr><td>Maya Lin</td><td><data value="1240">$1,240.00</data></td><td><mark data-tone="success">Paid</mark></td></tr>
    …
  </tbody>
</table>

TagBrush.css styles it, TagAction makes the columns sortable (click a header), and npx @kovirlabs/tagcheck page.html confirms nothing is missing.

Recent orders
CustomerTotalStatus
Maya Lin$1,240.00Paid
Alex Chen$95.00Pending
Zoë Park$310.50Paid
Bo Ito$18.00Refunded

Start from a theme

TagKit's themes put the same look on the tools you already publish with.

Built for AI coding agents too

Every tool has an llms.txt guide, and the family guide says which one to use when. An agent writes semantic HTML, runs TagCheck with --json, and fixes what it reports without a person.

What the family keeps to

Native HTML first
Then ARIA attributes, then a few documented data- attributes. Never classes as an API.
Works with JavaScript off
A control that needs a script carries hidden until the script shows it.
No build step
One CDN line per library, pinned to a major version.
Accessible by default
WCAG AA contrast in light and dark mode, full keyboard support, and checks to prove it.

Read the brand to use the family's look on a page of your own.