0.26.0: five defects, found across six sites

Six sites built back to back produced five defects. Four of them were already forbidden by a written rule — and happened anyway.

Six sites built with the same skill over two days is the best test of which parts of the route are written in vain. Five defects turned up, and four of them were covered by a rule that existed before the builds started.

Hence the finding underneath the findings: **a rule about a countable property that is not counted is a rule the template itself breaks.** Three of the five became checks in `npm run audit`.

What was broken

**The hover badge was missing from most list sections.** The rule says everything in a list answers the cursor. Thirteen sections did not. Each now carries its own label, and the audit errors on a section that renders cards and answers the cursor nowhere.

**A closing section on top of the footer's form gave every page two endings.** The form is on every page and every call to action scrolls to it; a "let's work together" block above it asks a second time, and the lower ask wins on position rather than on meaning.

**The footer had nowhere to put a copyright line.** The rule said to ask the client for one and there was no field for the answer. The most reliable way to lose a question is to ask it and provide no place for the reply.

**The header was unreadable over a first screen in the brand colour.** The dark-screen flag was a boolean, and there are three kinds of first screen: dark, light, and flooded with the brand colour. On the flood the header painted itself white and measured 1.19 to one.

And one command

`npm run headings` drives a browser over every route in every language at two widths, groups the words of a heading by their vertical position — which is what a line is — and fails when the last line is under 40 per cent of the one above it. Holes in big headings were described in two places in the route, and six sites shipped with them anyway: where a line breaks is a fact of layout, and no file-reading check will ever produce it.

02Keep reading

More from the blog

Two, never more. A longer strip turns the end of an article into a second index page, and the reader has already chosen once.