Field Notes
Dispatches from the field. Expedition logs, disputed findings, correspondence received, cautionary accounts, and observations too brief for the main catalogue. The Heuristic Order assumes no liability for emotional distress caused by the Pest Register.
explore I. Expedition Reports
First-person accounts submitted to the Order by practitioners in the field. Names withheld where requested. Dungeons identified only by type.
The client briefed us this morning. The admin panel manages inventory for fourteen warehouses across three time zones. They need a table. They showed us a spreadsheet. The spreadsheet had sixty-one columns.
I asked which columns users look at every day. They said probably eight or nine. I asked which columns could be hidden by default. There was a long silence. The product manager said he would need to check with the business.
I have begun drawing the table. I have drawn four columns. I feel I am building a dam in front of a river I have not yet seen.
Conducted a session study today. Six participants. Task: complete a purchase. The app fires a Toast notification when the item is added to the cart. Duration: approximately 1.8 seconds.
Two of six participants read the Toast. Three looked up from the task and found it already gone. One participant asked if anything had happened. I told her something had happened. She said she couldn't tell.
The team lead says 1.8 seconds is "enough time." I have calculated that the WCAG minimum for this message length is approximately 5 seconds. I have sent the calculation. I have been told it is a known issue.
Found forty-seven instances of the Div-Button today. I know because I counted. The developer I'm working with is excellent and immediately understood the problem. He is fixing them as fast as the backlog permits, which is not very fast, because there are forty-seven of them.
The codebase has a custom component called <ClickableBox>. It wraps everything that needs to be clicked. It is a div. It has an onClick handler. It does not have a role. It does not have a tabindex. It was written in 2019 and nobody questioned it because it looked fine. It looked fine for five years.
We are renaming it <Button> and making it a real button. This is the most important thing I will do this sprint. I am not being sarcastic.
The modal appears 2.3 seconds after page load. It asks for an email address. The user has been on the site for 2.3 seconds. They have not read anything. They have not decided if they like the site. They have not been given any reason to share their email address.
I asked the stakeholder what conversion rate this modal achieves. He said 0.4%. I asked what the dismissal rate was. He said he didn't track dismissal rate, only conversion. I explained that 99.6% of users who see this modal choose to close it rather than engage.
He said 0.4% is actually pretty good for this kind of thing.
I am writing this from the car park. I needed some air.
gavel II. Disputed Findings
Cases where the Heuristic Order's official position is contested by practitioners in the field. The Order presents both arguments, then rules. The losing faction's position is preserved for the historical record.
Exclusive mode — one panel open at a time — preserves screen real estate and prevents users from becoming lost in a wall of expanded content. Users who need to compare two panels can read one, close it, and open the other. The cognitive load of managing multiple expanded panels simultaneously is higher than the cost of re-opening a closed one.
The Autonomy FactionExclusive mode takes a decision away from the user that the user is perfectly capable of making themselves. If a user has opened two panels, they have opened two panels deliberately. Closing one without their instruction is paternalistic. Users comparing content between sections must now perform two additional interactions for every comparison. The desire to compare is a signal about the content's structure, not the user's incompetence.
The rule that Tooltips should never carry essential information is too absolute. A Tooltip on an icon button is frequently the only place its label can live without redesigning the layout. On desktop — where the overwhelming majority of icon-button interactions occur — hover is a reliable input method. Refusing to put necessary information in a Tooltip because touch users cannot access it results in unlabelled buttons, which is worse.
The Standards FactionAn unlabelled button is a problem. A button whose label is only accessible via hover is also a problem — a different problem affecting a different audience, but a problem of equal severity. The solution is not to choose which users are inconvenienced; it is to find a layout that accommodates both. If no such layout exists, the interface has a design problem that the Tooltip is being asked to solve.
The Toast is a transient, non-blocking notification mechanism. An error is a persistent, blocking condition requiring user action. These two things are categorically incompatible. An error Toast disappears before the user can act on it. An error Toast that does not disappear is no longer a Toast. There is no version of an Error Toast that is correct. The Error Banner, the inline form error, the persistent alert — these are the correct tools.
The Contextual FactionThere exist system-level errors — network timeouts, background sync failures, third-party service interruptions — that are genuinely non-blocking and require only acknowledgement, not immediate action. "Your draft could not be auto-saved" is an error. It does not require immediate action. A persistent banner for every background process failure creates alert fatigue. A dismissible Toast with a retry action is appropriate here.
visibility III. Observations from the Field
Findings too brief for a full entry. Submitted without attribution. The Order verifies nothing; the Order recognises everything.
aria-label. Observed in seventeen consecutive audits across eleven different organisations. The Order has stopped being surprised. It has not stopped being concerned.mail IV. Letters to the Order
Correspondence received since the first print run. The Order replies where it has something useful to say. This is not always.
pest_control V. The Pest Register
A running record of documented misuses and abuses. Entries are added as they are encountered. The register has never shortened. It has only grown. Dungeons are not identified; patterns are.