Daar is 'n paar dinge oor die ander antwoorde wat óf net swak geformuleer is óf dalk 'n bietjie verkeerd is.
ONWAAR (agtig):Nie-standaard HTML-elemente is "nie toegelaat nie", "onwettig" of "ongeldig".
Nie noodwendig.Hulle is "nie-konform".Wat is die verskil? Iets kan "nie konformeer nie" en steeds "toegelaat word". Die W3C gaan nie die HTML-polisie na jou huis toe stuur en jou wegsleep nie.
Die W3C het dinge vir 'n rede so gelaat.Konformiteit en spesifikasies word deur 'n gemeenskap gedefinieer.As jy toevallig 'n kleiner gemeenskap het wat HTML vir meer spesifieke doeleindes gebruik en hulle stem almal saam oor 'n paar nuwe elemente wat hulle nodig het om dinge makliker te maak, kan hulle hê waarna die W3C verwys as "ander toepaslike spesifikasies".(dit is natuurlik 'n growwe oorvereenvoudiging, maar jy kry die idee)
Dit gesê, streng valideerders sal jou nie-standaardelemente as "ongeldig" verklaar.maar dit is omdat die valideerder se taak is om voldoening te verseker aan watter spesifikasie dit ook al bekragtig, nie om "wettigheid" vir die blaaier of vir gebruik.
ONWAAR (agtig):Nie-standaard HTML-elemente sal lei tot leweringskwessies
Moontlik, maar onwaarskynlik.(vervang "sal" met "mag") Die enigste manier waarop dit 'n leweringprobleem tot gevolg moet hê, is as jou pasgemaakte element bots met 'n ander spesifikasie, soos 'n verandering aan die HTML-spesifikasie of 'n ander spesifikasie wat binne dieselfde stelsel gerespekteer word (soos bv. SVG, Wiskunde of iets pasgemaak).
In werklikheid, die rede waarom CSS nie-standaard etikette kan styl is omdat die HTML-spesifikasie duidelik stel daardie:
Gebruikersagente moet elemente en eienskappe wat hulle nie verstaan nie as semanties neutraal hanteer;laat hulle in die DOM (vir DOM-verwerkers) en stileer hulle volgens CSS (vir CSS-verwerkers), maar lei geen betekenis daaruit af nie
Let wel: as jy 'n pasgemaakte merker wil gebruik, onthou net dat 'n verandering aan die HTML-spesifikasie op 'n later tydstip jou stilering kan laat opblaas, so wees voorbereid.Dit is regtig onwaarskynlik dat die W3C die <imsocool>
tag egter.
Nie-standaard etikette en JavaScript (via die DOM)
Die rede waarom jy toegang tot gepasmaakte elemente kan verkry en dit kan verander met JavaScript, is omdat die spesifikasie praat selfs oor hoe hulle in die DOM hanteer moet word, wat die (regtig aaklige) API is wat jou toelaat om die elemente op jou bladsy te manipuleer.
Die HTMLUnknownElement-koppelvlak moet gebruik word vir HTML-elemente wat nie deur hierdie spesifikasie (of ander toepaslike spesifikasies) gedefinieer word nie.
TL;DR:Voldoening aan die spesifikasie word gedoen vir doeleindes van kommunikasie en veiligheid.Nie-nakoming word steeds deur alles toegelaat behalwe a valideerder, wie se enigste doel is om ooreenstemming af te dwing, maar waarvan die gebruik opsioneel is.
Byvoorbeeld:
var wee = document.createElement('wee');
console.log(wee.toString()); //[object HTMLUnknownElement]
(Ek is seker dit sal vlamme trek, maar daar is my 2 sent)