Home Features Docs Blog Examples FAQ
DJE-022 Warning WebSocket

WebSocket accessibility flush fails silently

Error message

ARIA live region updates not announced by screen readers

When djust sends DOM updates over WebSocket, the accessibility flush mechanism (which updates ARIA live regions) may fail silently if the target element is not in the DOM at flush time. Screen reader users will not hear updates even though sighted users see them.

accessibility silent-failure websocket

Affected versions: >=0.2.0

Solution

Recommended

Ensure ARIA live regions are outside dj-update targets

Place ARIA live region containers outside elements that get fully replaced during updates. This ensures they persist in the DOM when the flush occurs.

Before (problematic)
<div id="content" dj-root>
    <div aria-live="polite" id="status">
        {{ status_message }}
    </div>
    <!-- ARIA region gets destroyed on update -->
</div>
After (fixed)
<div aria-live="polite" id="status">
    {{ status_message }}
</div>
<div id="content" dj-root>
    <!-- ARIA region persists outside update target -->
</div>