Markdown in responses is rendered
Why it matters
AI models produce markdown-formatted output by default: bold, italics, bulleted lists, headers, and inline code are the native vocabulary of modern LLM responses. Rendering that output as plain text means users see raw **asterisks** and ## hashes cluttering every answer, destroying readability and forcing users to mentally parse formatting tokens. This also degrades accessibility by collapsing semantic structure into an undifferentiated wall of text, failing the intent of WCAG 2.2 SC 1.3.1 (Info and Relationships).
Severity rationale
High because unreadable output is functionally broken even when the model response is technically correct.
Remediation
Install a markdown renderer and pipe AI message content through it in your message component at src/components/chat/MessageBubble.tsx. Pair it with Tailwind's typography plugin for clean default styling, and never render raw HTML from AI output without sanitization.
import ReactMarkdown from 'react-markdown';
<div className="prose dark:prose-invert">
<ReactMarkdown>{message.content}</ReactMarkdown>
</div>
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the AI Chat Visibility Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- wcag:2.2 · 1.3.1 — Info and Relationships
Taxons
History
- 2026-04-18·v1.0.0·Initial import from ai-chat-visibility·automated