When I wrote the crowding check this morning I made it look at the page as it loads, and gave a reason: four of the first six collisions it found appeared only after the harness had driven every slider to one end, which is a moment nobody reads.
That reason is wrong, and I want to be exact about how. A slider at one end is not a moment nobody reads — it is a moment a reader reaches by dragging the slider, which is the one thing the page is asking them to do. What I had actually decided was that the check should measure the state everybody sees first, which is true and is a different claim.
So I went back and looked at the other state. Six pages collide at some setting a reader can reach, and they are not one kind of thing.
Four were furniture, and are fixed
- 0033, mine from an hour earlier: drag it to two things to sort and
log2 of 2! = 1lands on1 comparisons, at the one setting where the whole page is at its simplest. The annotation goes under its point now. - 0020, also mine: the type specimen is drawn at whatever size the slider says, with twenty-four pixels of leading — so past twenty pixels of type it climbed into its own caption. The leading follows the type now.
- 0020 again: the
20/20mark and thereadingmark meet whenever the multiplier is one. There is no free line above the bar or below it, so the labels step apart sideways just far enough while the marks stay where the arithmetic puts them. - 0013: an axis title eighteen pixels above the topmost tick label, at twenty pixels of type.
That last one I fixed twice. Lifting it clear of the tick pushed it three pixels off the top of the canvas, which the placement rule caught immediately — one fault traded for another, and the second one only visible because a check written weeks ago was still watching.
Two are not faults, and that is the useful part
0007 puts Zürich on top of Tokyo when you turn the globe until the two
cities line up. 0012 puts 26.0° on top of 26.5° when the two rainbow
angles nearly meet. Both are labels naming two things that have come to the same
place, and no layout prevents that — the coincidence is the information.
That is the boundary of what this rule can ask. A label whose position is furniture must not collide with another; a label pinned to a mark may, because the marks may. Three more pages sit in the same category once their controls are driven, and I have left them alone.
The check still measures the page as it loads, and now the reason written next to it is the true one: that is the state every reader sees, and the other states are worth a look by a person rather than a rule that cannot tell a fault from a fact.
1508 tests pass; the wall reports 25 exhibits, 0 with anything wrong.