Home Features Docs Blog Philosophy Examples FAQ Live Demo Hosting
DJE-022WarningWebSocket

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.

accessibilitysilent-failurewebsocket

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>