a.css

esbudellant estàndards


Consideracions sobre frames

16/07/04

La utilització de frames és una polèmica que fa anys que porta cua i que sembla que no acaba.

L'element frame està desaconsellat per la WAI i desestimat per l'especificació més recent del W3C.

La WAI ho desaconsella per evitar problemes amb agents d'usuari que no suporten frames ja siguin lectors de pantalla o navegadors de dispositius mòbils com una PDA o un mòbil.

Un altre agent despreciat per qui usa frames és el robot indexador dels motors de cerca. Els URIs no seran pas identificatives ja que referenciarà sempre el frameset i els bookmarks són d'una practicitat nul·la. Els enllaços seran de poca utilitat per aquest robot ja que la estructura del lloc no serà facilment reproduible.

No us ha passat mai fer una cerca des d'un cercador tipus google i obtenir una pàgina que li falta el menú del lloc? Aquest és un problema greu d'usabilitat.

També cal tenir present que la gent amb problemes de visió que necessita ampliar la lletra es pot trobar que li queda el contingut ocult perquè sobrepassa l'amplada o alçada del frame.

Per altre banda, utilitzar els frames per controlar l'aspecte visual és un error conceptual. Aquesta feina pertoca als CSS.

No s'acaba aquí, el frame no és un concepte mort, només mal conceptualitzat. Caldrà anar mirant com evoluciona l'especificació xframes que actualment està com a esborrany.

El W3C considera els errors d'usabilitat dels frames:

Frames were introduced into HTML at version 4.0 [HTML4]. They introduced a manner of composing several HTML documents into a single view to create an application-like interface.

However, Frames introduced several usability problem that caused several commentators to advise Web site builders to avoid them at all costs. Examples of such usability problems are:

  • The [back] button works unintuitively in many cases.
  • You cannot bookmark a collection of documents in a frameset.
  • If you do a [reload], the result may be different to what you had.
  • [page up] and [page down] are often hard to do.
  • You can get trapped in a frameset.
  • Searching finds HTML pages, not Framed pages, so search results usually give you pages without the navigation context that they were intended to be in.
  • Since you can't content negotiatiate, noframes markup is necessary for user agents that don't support frames. However, almost no one produces noframes content, and so it ruins Web searches, since search engines are examples of user agents that do not support frames.
  • There are security problems caused by the fact that it is not visible to the user when different frames come from different sources.

This document defines a separate XML application, not a part of XHTML per se, that allows similar functionality to HTML Frames, with fewer usability problems, principally by making the content of the frameset visible in its URI.

Espero que no tornem a caure en el mateix error. Dues vegades seria massa.

Aquí cita problemes que no he citat. Segurament me n'he deixat molts però em semblen suficients arguments per oblidar els frames.

Comentaris

  1. Comentat per nikochan el 16/07/04

    Per aconseguir un frame/iframe, sempre pots utilitzar la propietat overflow: auto, per crear l'efecte d'scroll, i aixi no caure en els errors esmentats pel w3c. A mes, trobo mes comode, el fet de no utilitzar un arxiu extern per a ser inclos.

  2. Comentat per are el 16/07/04

    exactament, l'efecte el pots aconseguir. el que no tinc clar del tot és quin objectiu persegueix la especificació xframe

  3. Comentat per Jordi el 08/03/06

    Malgrat els problemes que presenta l'utilització de frames, ara que he fet la web de cedules.info m'hi he hagut de decantar degut a un problema que sovint s'obvia: com es poden mantenir variables de javascript definides en una pàgina quan passem a una altra? Això cal, per exemple, per crear un formulari dinàmic que vagi canviant les opcions del formulari en funció de les eleccions de l'usuari (com podeu veure a l'apartat de consultes ). Si s'utilitzen frames es pot fer. Jo no conec cap altra manera.

    El problema de l'accés directe a una pàgina pensada per a ser mostrada en un conjunt de frames es pot resoldre introduint un script Javascript que mostri un avís (o bé directament redireccioni) al context adequat.

  4. Comentat per are el 09/03/06

    Pots utilitzar crides asíncrones per modificar el contingut sense canviar de pàgina però abans cal veure si realment el planteig és bo.

    Un usuari sense javascript que es trobaria? podrà usar el formulari o no t'interessa que l'utilitzi gent així? (per exemple navegant des d'un mòbil).
    Ho acabo de provar...si no tinc javascript no puc entrar dades de comanda. Francament no em sembla ni de lluny la millor opció, abans fes un formulari on el radiobutton tingui un comportament normal (sense ocultar/mostrar res) i com a capa extra oculta el que vulguis amb javascript.

  5. Comentat per are el 09/03/06

    ...i accedint a l'enllaç que proporciones directe al formulari de contacte...no funciona ja que li falta l'entorn. Qualsevol que no entri per la teva pàgina marc no podrà fer res.

  6. Comentat per No voldria ferir... el 09/03/06

    Quan veig pàgines com les teves, Jordi, me n'adono de perquè el mercat laboral de l'entorn web està com està. Tothom té dret a fer una web sense tenir ni idea del que està fent, tothom té dret a, sense cap coneixement, introduïr-se al món web. I així va el mercat, així va el sector, així va tot plegat.

  7. Comentat per Jordi el 11/03/06

    No em fereixes, 'No voldira ferir', perquè jo no he afectat el més mínim el mercat laboral, atès que aquesta web l'he feta a nivell altruista, substituint una pàgina feta amb el word (!), i no treient amb això cap encàrrec a cap professional pq els de cedules.info no s'ho poden permetre. Mai he cobrat per fer una web, tansols m'interesso pel tema i justament per això, perquè sé que la opció triada no era òptima, he fet aquesta consulta. Vist que en saps tant, podries donar alguna alternativa. Lamento que la meva ignorància t'emprenyi tant, però no vulguis responsabilitzar-me a mi de com està el sector.

    Gràcies pels apunts, Are. Els tindré en compte.

Afegir un comentari


© Arnau Siches. a.css està sota Llicència Creative Commons.