Most German docs were written with `ue`/`ae`/`oe`/`ss` ASCII fallbacks (`fuer`, `aenderung`, `koennen`, `gemaess`) — relic from older toolchain constraints. Replaced 237 occurrences across 38 .md files with proper umlauts and ß so the docs read naturally. Substitutions are constrained to plain prose: fenced code blocks (```...```), inline code spans (`...`), markdown link targets `[..](..)`, and HTML comments are preserved verbatim. Path references like `docs/howto-erste-aenderung.md` keep their original (umlaut-replaced) filenames — only the surrounding prose is normalised. Tool: bin/fix-md-umlauts.py (idempotent — no-op on already-clean files). Re-runnable if ASCII fallbacks creep back in via copy-paste. Doc-link-check + doc-drift-check stay green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
46 lines
1.6 KiB
Markdown
46 lines
1.6 KiB
Markdown
# Row Interaction Standard
|
|
|
|
## Ziel
|
|
|
|
Row-Navigation discoverable und keyboard-freundlich machen.
|
|
|
|
## Standardverhalten
|
|
|
|
1. Konfigurierbares Link-Column: Die primaere Datenspalte (z.B. Name, Beschreibung) wird als klickbarer `<a>`-Link gerendert.
|
|
2. Enter auf fokussierter Row loest dieselbe Navigation aus.
|
|
3. Doppelklick bleibt als Fallback für Power-User.
|
|
4. Nur Rows mit Ziel-URL erhalten `data-row-open-url` und den Link im Link-Column.
|
|
5. Rows ohne URL (z.B. fehlende Berechtigung) zeigen den Inhalt als Plain-Text ohne Link.
|
|
|
|
## Contract
|
|
|
|
```js
|
|
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
|
|
|
|
1. Keine globale Tab-Stop-Flut auf allen Rows.
|
|
2. Fokusstil für Row und Link-Element sichtbar.
|
|
3. Explizite `actions.enabled: true` pro Seite darf Link-Column übersteuern (eigene Action-Spalte).
|
|
4. Link-Column darf keine Spalte mit verschachtelten `<a>`-Elementen umwickeln (z.B. Avatar mit Lightbox).
|