From 5dadacfce7deacb3b3bf2e1778b0a876535bcd48 Mon Sep 17 00:00:00 2001 From: Brooklyn Nicholson Date: Mon, 27 Jul 2026 22:03:37 -0500 Subject: [PATCH] docs(desktop): ban Close-X tips and click-to chrome lectures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extend the tip rule past kebabs — no tip on dismiss X, and no tips that only paraphrase a visible label or say "click to…". --- apps/desktop/DESIGN.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/desktop/DESIGN.md b/apps/desktop/DESIGN.md index 4b4c62d6f03f..dae529dca902 100644 --- a/apps/desktop/DESIGN.md +++ b/apps/desktop/DESIGN.md @@ -125,11 +125,14 @@ Tip unlabeled chrome when the job (or a keybind / truncated path / host / other detail) is not already on screen — toolbar / titlebar / statusbar icons, `TipKeybindLabel` shortcuts, ownership chips, unlabeled icon grids. -Do **not** tip menu triggers (kebabs / ⋯ / `ActionsMenu` / -`DropdownMenuTrigger`). The affordance is "open menu"; the verbs live in the -menu. Never `"Actions for ${row title}"`, `"Project actions"`, `"Actions"`, or -`"Credential actions"` on a ⋯ — the row already names the thing. Same for any -control whose visible label already says what the tip would. +Do **not** tip: + +- Menu triggers (kebabs / ⋯ / `ActionsMenu` / `DropdownMenuTrigger`) — the + affordance is "open menu"; verbs live in the menu. Never tip + `"Actions for ${row title}"` / `"Project actions"` / `"Actions"`. +- Close / dismiss X buttons — the glyph is the label (`aria-label` only). +- Controls whose visible label already says what the tip would ("click to…", + paraphrases of the same words, timer labels restating "Running"). Never use native HTML `title=` on buttons — unstyled, ~500ms OS delay, clashes with the themed `Tip`. `src/components/ui/__tests__/no-native-title.test.ts`