| TITAN-BULK-01 | Selecting the first row is what puts the page into selection mode. There is no separate “enter selection mode” control. | A mode the reader has to switch into deliberately is one extra step for the common case, which is checking a box because you want to act on that row. |
| TITAN-BULK-02 | A bulk action states its count and scope before it runs. | See TITAN-TBL-08 — do not restate its reasoning, follow it. |
| TITAN-BULK-03 | The header checkbox selects the current page only. Selecting every row matching a filter is a separate, explicitly-labeled action. | ”Select all” over a filtered table is ambiguous between the page, the filter, and everything — see TITAN-DIV-19. |
| TITAN-BULK-04 | The select-all checkbox shows checked only when every row on the page is selected. A partial selection is signaled by the bar’s count, never by the checkbox. | No indeterminate state exists — TITAN-GAP-33. Showing “checked” for a partial selection would misrepresent it; the checkbox has no way to say “some.” |
| TITAN-BULK-05 | Selected-row feedback does not rely on fill color alone. | background-hover and background-selected are the same value — TITAN-GAP-04 — so color cannot be the only carrier of selection state; see TITAN-COLOR-03. The checkbox’s own checked state and the bar’s count are what actually carry it. |
| TITAN-BULK-06 | Selection clears when the filter, sort, or search that produced the current result set changes. | The selection was scoped to a specific set of visible rows. Carrying it forward silently applies it to a different set the reader never looked at. |
| TITAN-BULK-07 | A destructive bulk action is confirmed once, for the batch, via Destructive confirmation’s bulk-destructive variation — never once per row. | Per-item confirmation on a routine batch action is exactly the friction that trains users to click through dialogs — see that page’s When it doesn’t table. |
| TITAN-BULK-08 | On partial failure, rows that failed stay selected; rows that succeeded do not. The result states both counts. | The reader’s next likely action is retrying only the failures. Clearing the whole selection makes them reselect by hand; leaving succeeded rows selected invites re-running an action that already worked. |
| TITAN-BULK-09 | Every selection checkbox — row and header — carries an accessible name identifying its scope. | See TITAN-CHK-02 and TITAN-CHK-05 — a column of controls all announcing “checkbox” is unusable, and a group needs a name distinct from any one option’s. |