Webrichtlijn 82: Het gebruik van frames
Op het Fronteers blog schreef ik in 2008 en 2009 korte artikelen over de Webrichtlijnen, die toen door de Nederlandse overheid in het leven zijn geroepen. De reacties zijn bij Fronteers niet meer zichtbaar, dus ik heb ze op mijn eigen site in augustus 2026 weer gepubliceerd.
Gebruik geen frames op websites. Dit geldt voor zowel reguliere frames binnen framesets, als zogenaamde iframes. (R-pd.12.1)
Dat frames veel nadelen hebben, weet (bijna) iedereen. HTML 5 ondersteunt ze dan ook niet, hoewel het tekenen ervan wel gesneden koek is. Kunnen wij nog cases bedenken waarbij frameset en frame wel toegevoegde waarde hebben?
Geldt hetzelfde echt voor inline frames? Hier zijn toch wel goede toepassingen voor te bedenken? Of geldt het invoegen van een IE6 upgrade bannertje niet als een goede case? Heeft een iframe dezelfde nadelen als gewone frames?
Wat vind jij trouwens van de nieuwe sandbox en seamless attributen die HTML 5 introduceert voor inline frames?
En wordt het embedden van een HTML document met het object element eigenlijk ook gezien als een iframe? Of kun je op die manier toch die functionaliteit krijgen en een puntje scoren voor deze Webrichtlijn? Komt dit door een formele inspectie?
Comments
iFrames zijn evil. Ze worden alleen gebruikt als developers zeggen dat het niet anders kan. Als developers dat zeggen zijn ze of incapabel of lui.
@Vasilis:
<style scoped>maakt het 'luie developers' wel wat makkelijker, maar iets als scoped scripting krijg je zonder eeniframeniet voor elkaar, toch?Het probleem is meestal dat er niet zomaar HTML van een ander domein geïnclude kan worden. Het kan wel, maar daar moet iets voor gebeuren.
Het lijkt me dat iFrames best een functie hebben maar (net als veel andere aspecten) te snel gebruikt worden in situaties waar een andere oplossing beter is.
Ook hier lijkt het me van belang om elkaar goed te informeren. Vasilis: geef eens een voorbeeld van een (betere) methode om cross-domain HTML te includen?
Je kan een deel van de HTML bij de ene partij en een ander deel bij de andere partij vandaan laten komen.
Dus bijvoorbeeld de HEAD en de sitewide onderdelen zoals de navigatie komen bij de eigenaar vandaan en een ander deel van de HTML met specifieke content komt bij de contentleverancier vandaan.
Naarmate een pagina meer het karakter krijgt van een applicatie, vind ik (i)frames aanvaardbaarder, – al moet je ze indien mogelijk vermijden. Squirrelmail is mede zo heerlijk simpel, dank zij het frameset.
Een "echte website" moet volgens mij nooit frames gebruiken.
@ Vasilis' first post: deels waar...kanttekening: ik heb laatst nog met een
iframemoeten stoeien omdat de webshop koppeling, van in dit geval 'n hostingboer, dermate slecht was opgezet. zo blijf je altijd wel uitzonderingen op de regel houden imho.Maar in essentie zouden ten alle tijden vermeden moeten worden.
@ Boye, uiteraard zijn er uitzonderingen. Maar die brengen de discussie niet echt op gang (-: