Anki: 26.05, Windows, Qt6 (confirm via Help → About)
AnkiMobile (iPhone): NOT affected
Summary:
After updating to 26.05, cards whose templates run certain JavaScript render as a
blank white card in reviewer/preview/editor. The clearest case: any template calling
window.speechSynthesis.cancel() / .speak() – the TTS audio plays, but the HTML never
paints. DOM scripts that run on the back (querySelectorAll + scrollHeight, etc.) also
appear to blank the card. Removing all and using native {{tts}} renders fine.
Note types with no scripts are unaffected. Switching video driver
(software/OpenGL/ANGLE) does not help.
Minimal reproduction:
Because Javascript is an advanced feature and so many things can go wrong, Javascript functionality is provided without any support or warranty. Styling & HTML - Anki Manual
Isn’t reproduced for me with any of the video driver options (Anki 26.05 win11).
You might want to try another workaround by calling the speech synthesis function on some timeout to avoid it affecting card display or, at the very least, to check if the rendering issue is indeed triggered when the TTS is called.
Update – the real cause is color emoji, not JavaScript
Thanks for testing – your repro failure made me bisect properly, and my original framing was wrong: it’s color-emoji glyphs, not speechSynthesis/JS.
A styled card (e.g. border-radius + box-shadow) containing a color emoji like renders blank white on first paint – with no <script> at all. Replace the emoji with a plain letter or inline SVG and it renders every time. Deferred speak() is fine; the emoji is the trigger.
Minimal repro: Basic card front = a styled div containing any color emoji → blank; remove/replace the emoji → renders.
Env: Anki 26.05, Qt6, Win11; GPU Intel HD Graphics + NVIDIA GeForce 820M (old drivers, 2016/2018). Reproduces across all video-driver backends – looks like a GPU-specific color-emoji texture path in Qt WebEngine, which is likely why you couldn’t reproduce it. iPhone/AnkiMobile unaffected.
Fix: replace template emoji with inline SVG icons / text – all cards render front + back again.
Is this a known Qt6 WebEngine color-emoji bug on older GPUs, and is there an Anki-side compositing/driver flag that avoids it without editing templates?