2.0 KiB
2.0 KiB
Task 02 — .md-quote styling (theme-safe, WCAG AA)
Phase: 138_markdown_blockquotes · Source: TODO.md:3 — "Markdown formatted ">" quotes aren't rendering"
Story: n/a
Objective
The blockquote is visually distinct and readable in all three rendering contexts (chat bubble, thinking block, document viewer) with ONE rule set, using only the existing :root palette.
Work
frontend/assets/styles.css— add the.md-quoterule next to the other markdown element styles (the phase-44.md-table/.md-table-wrapblock is the anchor):border-left: 3px solid <palette var>(a visible-but-restrained border — pick from the existing:rootpalette, the executor's contrast judgment),padding: 0.25rem 0.75rem,margin: 0.5rem 0,color: <muted palette var>with a ≥4.5:1 contrast comment on the bubble surface per the house convention (--ink-soft's/* 8.2:1 on --surface */qualifies — verify against the actual bubble background and document it).frontend/assets/styles.css— no background fill (ASSUMPTION A2); verify the rule renders acceptably in the chat.bubble, the.thinking-textblock, and the document-viewer content region — add a scoped override only if the task-03 E2E proves a clash.
- ASSUMPTION: the built-in dark palette is the single source of truth — the
:root-drift unit test parses built-ins from this file, so no hex literal outside:rootand no second copy.
Testing & Quality
- Unit:
tests/unit/test_markdown_blockquotes.py(task 03) source-pins the.md-quoterule's presence and its palette-var-only references (the phase-44 CSS-pin pattern). - Coverage: n/a (frontend).
Completion Criteria
- the
.md-quoterule exists instyles.css, references only:rootpalette vars, and carries a ≥4.5:1 contrast comment - the quote is visually distinct in chat + viewer (the E2E screenshot, task 03)
- the theme no-op (B4) is unaffected — the rule uses existing vars; no new
ui_settingscolumn