solcom / P2503-103 · PR-Review · 2026-05-13 · fixed-point: main

P2503-103 — Accessibility Tools Konfiguration (editoria11y)

NK
Nico Köhle
1 Commit · PR #164077
feature/P2503-103-editoria11y-config main
+5179 / −810 files
Findings: standards=4 (1 hard, 3 judgement/minor) · spec=6 (2 kritisch, 1 gap, 2 creep, 1 risiko)
Worst: Admin-Permissions fehlen im Config-Export + falsche Permission für content_editor — beide müssen vor Merge korrigiert werden.

Risk map

safe worth a look needs attention

Standards

docs/prds/2026-05-12-accessibility-tools-konfiguration-prd.html Hard Violation
HardFalsches Meta-Schema: doc-* statt solcom:*

Die neue PRD verwendet doc-title, doc-status, doc-owner usw. Das kanonische Schema laut CLAUDE.md ist ausschliesslich solcom:*. Nur solcom:jira-key ist korrekt. Das bricht solcom-docs-lint und solcom-docs-explorer, die auf solcom:*-Namespacing filtern.

Falsch: <meta name="doc-status" content="approved">Korrekt: <meta name="solcom:status" content="approved">

Quelle: CLAUDE.md → "Documentation Output Format" → "Frontmatter via solcom:feld"
config/sync/editoria11y.settings.yml — ignore_elements Judgement Call
Judgementignore_elements schliesst footer und nav aus

Footer und Navigation enthalten auf SOLCOM-Seiten realen Content (Links, Kontaktdaten). Die Story begründet nur „Admin-Chrome-Ausschluss" — ob footer/nav bewusst Post-Launch-Tuning sind, fehlt als explizites Non-Goal im PRD.

Quelle: docs/stories/F-220 → "Admin-Chrome-Ausschluss"
user.role.content_editor.yml + Views-Permissions Judgement Call
JudgementDashboard-Zugriff für content_editor unklar

Die Views verlangen manage editoria11y results. content_editor erhält diese Permission nicht. Falls das Dashboard auch für Redakteure gedacht ist, fehlt entweder eine weitere Permission oder ein separater Block mit niedrigerer Zugriffshürde.

Quelle: docs/stories/F-220 → "Dashboard-Block für Nutzer mit manage editoria11y results"
PRD-Status vs. Story-Status Minor
MinorPRD-Status approved während Story noch in-review

Status-Divergenz zwischen den beiden Docs — verwirrend für den Audit-Trail, triggert solcom-docs-lint Regel "status-drift".

Quelle: CLAUDE.md → Karpathy-Wiki-Tabelle → Lint-Regel "status-drift"

Spec

user.role.administrator.yml — fehlt im Diff Kritisches Gap
GapAdministrator-Permissions fehlen im Config-Export

PRD-Tabelle verlangt für Administrator: administer editoria11y checker, manage editoria11y results, mark as ok in editoria11y. Im Diff gibt es kein user.role.administrator.yml. is_admin: true gibt impliziten Vollzugriff, aber ohne expliziten Config-Export ist das auf Instanzen mit überschriebenem Admin-Rollen-YAML nicht garantiert.

Quelle: PRD → "Permissions"-Tabelle, Zeilen Administrator
config/sync/user.role.content_editor.yml Kritisches Gap
GapFalsche Permission: mark as hidden für Redakteur — nicht in Spec

content_editor bekommt mark as hidden in editoria11y. Die PRD-Tabelle weist Redakteuren ausschliesslich view editoria11y checker zu. Keine "mark"-Permission gehört laut Spec zum Redakteur-Scope.

Quelle: PRD → "Permissions"-Tabelle, Redakteur-Zeile (kein "mark"-Eintrag)
block.block.*.yml — fehlt im Diff Gap
GapDashboard-Block-Placement nicht konfiguriert

Jira-Story und PRD verlangen den Block a11y_tools_editoria11y_results-block_a11y_alerts sichtbar im Dashboard. Im Diff gibt es Views-Config, aber kein block.block.*.yml. AK3 ("keine manuelle Nachkonfiguration") ist damit nicht nachweislich erfüllt.

Quelle: Jira P2503-103 → "Dashboard-Block a11y_tools_editoria11y_results in Scope"; PRD → "Dashboard-Block"
config/sync/views.view.editoria11y_dismissals.yml (1 495 Zeilen) Scope Creep
CreepDismissals-View ohne erkennbare Anpassung in config/sync/

Wenn der View 1:1 dem Modul-Default entspricht, erzeugt er bei jedem Modul-Update einen Config-Conflict ohne Mehrwert. Die Spec erwähnt diesen View nicht explizit.

Quelle: PRD → Out of Scope / kein Dismissals-View-Eintrag
user.role.content_editor.yml — mark as hidden Scope Creep
Creepmark as hidden in editoria11y für content_editor — nicht in Spec/Jira

Weder PRD, noch Jira-Story, noch Story-Doc nennen diese Permission für Redakteure. Die vollständige Redakteur-Zeile im PRD enthält nur view editoria11y checker.

Quelle: PRD → "Permissions"-Tabelle, Redakteur-Zeile
config/sync/editoria11y.settings.yml — assertiveness Risiko
Risikoassertiveness: assertive — nicht spezifiziert, potenziell WCAG-kontraproduktiv

Wert assertive löst ARIA-Live-Announcements bei jedem Seitenbesuch aus — kann für Screenreader-Nutzer störend sein. Die PRD-Settings-Tabelle enthält diesen Wert nicht. Da das Ziel WCAG-Konformität ist, sollte er explizit begründet oder auf den Standardwert zurückgesetzt werden.

Quelle: PRD → "editoria11y.settings"-Tabelle (kein assertiveness-Eintrag)