se non vado errato className, pur essendo vastamente supportato, non e' pienamente negli standard

quanto alla domanda
questa e' una tecnica di sniffing del browser molto usata e sempre preferibile all' analisi dello userAgent

dice: se supporti i principali metodi del DOM sei un browser moderno
e posso sicuramente usare i 2 metodi x cui ho testato

ottimisticamente potrei lavorare con nodi ed elementi usando tutti i metodi del DOM

dico ottimisticamente perche' x farlo, andando ad approfondire, non basta il supporto ai 2 principali metodi:
vecchie versioni di opera passerebbero il test ma non saprebbero come comportarsi di fronte ad un "semplice"

document.createTextNode("ciao!")