La stringa passata a `document.querySelector()` o `querySelectorAll()` viola la sintassi formale dei selettori CSS (es. ID che inizia con una cifra numerica non sfuggita o pseudo-classe sconosciuta).
DOM_QUERYSELECTOR_INVALID
→
L'istruzione `parent.removeChild(child)` fallisce perché il nodo `child` è già stato rimosso in precedenza o è figlio di un elemento genitore differente.
DOM_NOT_FOUND_REMOVECHILD
→
Compare quando si richiama `audio.pause()` prima che la promessa asincrona restituita da `audio.play()` sia stata risolta, o quando l'avvio della riproduzione multimediale è bloccato dalle policy di Autoplay del browser.
DOM_MEDIA_PLAY_INTERRUPTED
→
Un'operazione di I/O asincrona (come `fetch()`) riceve un'istanza di `AbortSignal` che è già stata contrassegnata come abortita (`signal.aborted === true`).
DOM_SIGNAL_ABORTED
→
Si tenta di inviare messaggi con `socket.send()` prima che l'evento `socket.onopen` abbia confermato l'apertura della connessione TCP/TLS.
DOM_WEBSOCKET_CONNECTING
→
Le API hardware sensibili come fotocamera e microfono (`navigator.mediaDevices.getUserMedia`) sono disabilitate dai browser moderni su origini HTTP in chiaro non protette da SSL/TLS.
DOM_GETUSERMEDIA_INSECURE
→
I moderni browser impostano di default gli eventi touch e wheel come passivi (`passive: true`) per garantire uno scorrimento fluido a 60fps; invocare `e.preventDefault()` al loro interno genera un avviso e l'azione non viene annullata.
DOM_PASSIVE_PREVENTDEFAULT
→
La proprietà `.detail` di un evento personalizzato `CustomEvent` è di sola lettura dopo la creazione dell'istanza; i parametri devono essere passati nell'oggetto opzioni del costruttore (`new CustomEvent('name', { detail: {...} })`).
DOM_CUSTOMEVENT_DETAIL_READONLY
→