Remove the dedicated "Edit"/"Open" action button column from all list pages. Instead, wrap the primary data column (name, description, subject, etc.) in a clickable <a> link via the new rowInteraction.linkColumn option. Double-click, Enter-key, and click-to-focus row navigation preserved. Pages with explicit actions config are unaffected. Address-book opts out of auto-wrapping (linkColumn: false) and renders the link in its own formatter to avoid nested <a> with avatar lightbox. Also fixes pre-existing XSS in insertActionColumn (unescaped href/label) and updates typography test for --text-page-title token change. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.6 KiB
1.6 KiB
Row Interaction Standard
Ziel
Row-Navigation discoverable und keyboard-freundlich machen.
Standardverhalten
- Konfigurierbares Link-Column: Die primaere Datenspalte (z.B. Name, Beschreibung) wird als klickbarer
<a>-Link gerendert. - Enter auf fokussierter Row loest dieselbe Navigation aus.
- Doppelklick bleibt als Fallback fuer Power-User.
- Nur Rows mit Ziel-URL erhalten
data-row-open-urlund den Link im Link-Column. - Rows ohne URL (z.B. fehlende Berechtigung) zeigen den Inhalt als Plain-Text ohne Link.
Contract
rowInteraction: {
enabled: true,
linkColumn: 0, // Index der sichtbaren Datenspalte, die als Link gerendert wird (default: 0)
keepDblClick: true, // Doppelklick-Navigation beibehalten (default: true)
enableEnterOnRow: true, // Enter-Key-Navigation auf fokussierter Row (default: true)
rowEnterHint: 'Press Enter to open row'
}
linkColumn-Zuordnung
| Seite | linkColumn | Zielspalte |
|---|---|---|
| Users | 2 | First name (nach Avatar + hidden UUID) |
| Tenants | 1 | Description (nach Avatar) |
| Roles, Departments, Permissions | 0 | Description |
| Address book | 1 | Name (nach hidden UUID) |
| Mail log | 3 | Subject |
| Scheduled jobs | 0 | Job label |
| System audit, Import audit, User lifecycle audit | 2 | Event/Profile/Action |
| API audit | 3 | Path |
Guardrails
- Keine globale Tab-Stop-Flut auf allen Rows.
- Fokusstil fuer Row und Link-Element sichtbar.
- Explizite
actions.enabled: truepro Seite darf Link-Column uebersteuern (eigene Action-Spalte). - Link-Column darf keine Spalte mit verschachtelten
<a>-Elementen umwickeln (z.B. Avatar mit Lightbox).