Op die manier wordt het voor webbouwers alleen maar moeilijker om een ingewikkelde website te maken die voor elke browser hetzelfde werkt.
je bedoelt dat het nu met dingen als specifieke versioneringen als HTML4.01, XHTML1, XHTML1.1 en transitional of strict doctypes ... én bv de proprietaire versionerings-oplossingen van Microsoft zoals de 'EmulateIE7 en EmulateIE8' voor web-ontwikkelaars 'makkelijk' is om in verschillende browsers dezelfde website te krijgen?
Mwah, mijn mening is juist dat als er iets verschrikkelijk 'misbruikt' wordt door de Browsers-bouwers en tot verschrikkelijke incompabiliteiten leidt, het juist de 'versionering'-mogelijkheden is....
terwijl een techniek zònder versionerings-systeem, specifiek CSS (dat wel een CSS1, CSS2 en CSS3 versie kent maar deze niet gereserveerd worden met een specifieke versie-nummer door servers, hooguit door de browsers ondersteund aan de hand van 'wat ze 'kunnen' en negeren wat ze niet herkennen) véél minder problemen oplevert.
Ook bv Javascript kent géén specieke Doctype en het aanbieden van javascript in een specifieke versie (het Language-attribuut in de SCRIPT tag) al langer afgeraden wordt (deprecated) en verder geen specifieke toepassing kent (in HTML3.2 was dat wél het geval)...
Natuurlijk is het een 'mooie' gedachte ... dat je een versie van de HTML zou definieren en dat alle browsers het dan consequent zouden renderen volgens die versie, maar de werkelijkheid is dat browsers dat _nu_ al niet doen, ondanks dat er in de bestaande specificaties wel een versionerings-systeem voorhanden is...
terwijl wat MS zelf daar ook nog ens aant toevoegt wat betreft hun EmulateIE7-meta-tags helemaal een ramp is qua toepasbaarheid (vornamelijk toegepast wordt door slechte webdevellopepers om hun falen te verhullen, IE-only websites makkelijk te blijven aanbieden of veel werk te besparen aan écht compatible werken)
[Reactie gewijzigd door RM-rf op dinsdag 15 februari 2011 13:16]
Deels mee eens, maar je mist een belangrijk puntje. Als de html specificatie 'levendig' wordt, loop je het gevaar dat wat nu de standaard is, volgende maand niet meer 100% werkt. Op die manier verplicht je website eigenaren om extra onderhoud te moeten (laten) doen. Leuk vanuit een technisch oogpunt, ook lekker voor de hele bedrijfstak natuurlijk, maar minder leuk voor de website eigenaren zelf...
Dit voorkom je dan weer alleen door enkel nieuwe zaken toe te voegen aan "de standaard". Maar met verloop van tijd ga je dan natuurlijk ook vast lopen. De eisen die er aan het web worden gesteld veranderen nou eenmaal (relatief) snel. Ook kan je dan geen correcties meer doorvoeren.
Browsers die gewoon negeren wat ze niet kunnen is juist een van de oorzaken van het hele scala aan hacks die er bestaan en de geringe 'drive' van de browserbouwers om volledig aan de specs te voldoen.
Ook ik zie waarschijnlijk wel weer wat over het hoofd maar deze puntjes laat je imho wel wat onderbelicht in je betoog.
Dat gevaar zou kunnen bestaan, maar het is in deze aan het W3C en de browser bouwers om de standaard alleen op een backward compatible manier te evolueren om dat te voorkomen.
Bijvoorbeeld het toevoegen van tags is redelijk veilig. Een oudere browser kent ze gewoon niet, maar je oude pagina's zullen die tag dan ook niet gebruiken. Ga je die tag wel gebruiken dan weet je dat alleen nieuwe browsers hem herkennen.
Een van de problemen in het verleden was ook een nogal puristische insteek van het W3C waarin men tags zoals <b>, <i> en <iframe> wilde deprecaten. Deze zouden verwijderd moeten worden. Dit is gewoon niet haalbaar gebleken en met HTML 5 kiest men er resoluut voor om dit te omarmen. HTML is zoals het is. Je kunt het uitbreiden, maar niet verkleinen. En HTML 5 moet hetzelfde zijn als HTML 4, plus wat extra's. HTML 6 wordt hetzelfde als HTML 5, plus weer wat extra. Je kunt dus niet ineens bestaand gedrag gaan veranderen. Wil je toch ander gedrag, moet je nieuwe tags, nieuwe attributen voor bestaande tags of nieuwe style regels gaan verzinnen, zodat je het oude ongemoeid kunt laten.
Als de html specificatie 'levendig' wordt, loop je het gevaar dat wat nu de standaard is, volgende maand niet meer 100% werkt.
Dàt is natuurlijk zaak van de mensen achter de HTML specificatie en die hebben juist weinig 'excuus' om zoiets te doen; nóg minder dan zolang men wel kan vasthouden aan dat 'concept' van verschillende versioneringen en verschillende render-modes van browsers.
Overall is jouw voorbeeld gewoon een onrealistische situatie die zich eerder nooit zal voordeoen, juist het opstelklen van deze specificatie is een langdurig proces en als je bedenkt dat we zelfs nu nog voor 75% van de HTML-specificatie kunnen baseren op de eerste basis zoals Berners-Lee HTML beschreef in 1989; kun je voorstellen dat de basis juist verdomd weinig 'structureel verandert'... pogingen daartoe zoals XHTML en zeker XHTML1.2 en 2.0 waren snel verdoemd
Juist bij het idee van 'version-afhankelijk renderen' is overigens het voorbeeld van Microsoft en zn EmulateIE7 of EmulateIE8 Headers een goed voorbeeld van hoe je het dus _niet_ wilt hebben, en ook waarom dat zo 'fout' is en juist rechtvaardigd dat browser-bouwers verschillende render-modes gaan inbouwen.
Browsers die gewoon negeren wat ze niet kunnen is juist een van de oorzaken van het hele scala aan hacks die er bestaan
nee sorry, maar een browser die gewoon standaard conform gedrag vertoont kan natuurlijk nooit een 'hack' zijn...
'hacks' is het juist als een browser _niet_ de standaard volgt, eigen niet-conform gedrag gaat weergeven of domweg totaal fout interpreteert (bv de bekende "* HTML"-CSS-hack die inderdaad afgeraden wordt omdat die breekt bij nieuwere versie's... dat is echter een browser-fout en ligt niet aan de specificatie)
[Reactie gewijzigd door RM-rf op dinsdag 15 februari 2011 17:31]