Buscador

Mostrando entradas con la etiqueta JavaScript. Mostrar todas las entradas
Mostrando entradas con la etiqueta JavaScript. Mostrar todas las entradas

martes, 5 de noviembre de 2019

Accessibility in JavaScript Applications

Accessibility in JavaScript Applications es un curso sobre:

We can produce innovative and inclusive JavaScript-powered web apps! This course will teach you to remove barriers to access that might prevent people with disabilities from using a modern JavaScript web application. We’ll study accessibility in UI components, primarily with React and Gatsby.js, but with knowledge applicable to all JavaScript-heavy web stacks. Debug your sites for accessibility, manage keyboard focus, announce live updates to the page to screen readers, and use manual and automated testing to gain web accessibility superpowers!

This course and others like it are available as part of our Frontend Masters video subscription.

miércoles, 5 de febrero de 2014

domingo, 7 de marzo de 2010

Enlaces que no son enlaces

Hace unos días, un amigo me pasó la web que le había hecho una empresa para su negocio. Le eché un vistazo de 5 minutos y encontré un error muy, muy grave de accesibilidad. Además, este error también era importante para el tema de buscadores y posicionamiento.

El error era que el menú o barra de navegación del sitio web se había implementado mediante etiquetas <div> con el atributo onclick y código JavaScript para simular la función de enlace. Para un usuario que utilice un lector de pantallas, para un usuario que utilice un navegador en modo texto o para un buscador, estos "enlaces" no existen y, por tanto, no se puede acceder al contenido del sitio web.

En mi ejemplo Enlaces que no son enlaces explico este error y proporciono dos posibles soluciones.

lunes, 18 de enero de 2010

AxsJax

AxsJax es un proyecto de Google que ofrece un framework para crear aplicaciones accesibles que utilicen AJAX.

Otro término relacionado con AJAX accesible es Hijax: Ajax accesible.

domingo, 15 de noviembre de 2009

Cómo incluir código JavaScript correctamente

Hace tiempo escribí varias entradas sobre JavaScript (Ejemplo de JavaScript no molesto y JavaScript no molesto). Aunque cada vez menos, JavaScript puede ocasionar problemas de accesibilidad, por lo que es necesario escribir páginas web que puedan funcionar correctamente sin la necesidad de JavaScript.

Acabo de encontrar la página web How to Include Scripts in HTML Documents. Explica el empleo de la etiqueta <script>, los atributos que tiene, los sitios donde se puede incluir esta etiqueta, cómo esconder el código JavaScript de aquellos navegadores que no lo interpretan, el uso de NOSCRIPT y una explicación sobre cómo escribir etiquetas HTML desde JavaScript para que no haya problemas.

martes, 21 de julio de 2009

Ejemplo de JavaScript no molesto

Hace un tiempo escribí la entrada JavaScript no molesto, también conocido como JavaScript no obstructivo o no intrusivo, donde ponía algunos ejemplos de uso correcto de JavaScript para que no suponga ningún problema de accesibilidad.

Acabo de encontrar la página web Continent country selector que ofrece un buen ejemplo de cómo hacer que las listas desplegables en cascada o que dependen unas de otras sigan funcionando sin JavaScript. Este tipo de listas se emplea cuando existen dos más listas de valores entre los que el usuario tiene que hacer una selección y el conjunto de valores de una lista depende del valor seleccionado en la lista previa. Ejemplos típicos de uso son:
  • Lista 1: categoría de productos; Lista 2: productos de una categoría
  • Lista 1: provincias; Lista 2: ciudades de una provincia
En la página Continent country selector, la lista 1 son los continentes y la lista 2 los países de un continente.

En la siguiente imagen se puede apreciar el comportamiento normal, cuando JavaScript está activado: únicamente está activada la lista "Select a continent or area", una vez que se elige un continente se activa la lista "Select a country" y se muestran únicamente los países del continente elegido.


Cuando JavaScript no está activo, las listas desplegables no están desactivadas y en la lista de los países aparecen todos los países, agrupados por continentes.


¿Cómo se hace esto? Muy sencillo:
  1. En el HTML, las listas contienen todos los datos, la lista de continentes y la lista de todos los países.
  2. Mediante JavaScript, se copia el contenido de la lista de los países a un array, se borra la lista de los paises y se desactiva esa lista.
  3. Mediante JavaScript, se controla con el evento onchange cualquier cambio en la lista de continentes: si se selecciona un continente, se activa la lista de países y se rellena con los países correspondientes a ese continente.
  4. Por tanto, si JavaScript no está activo, los puntos 2 y 3 no se ejecutan y sólo ocurre el punto 1: las listas contienen todos los datos.

miércoles, 17 de diciembre de 2008

Botón para imprimir no molesto

Hace tiempo escribí sobre JavaScript no molesto, que en la Wikipedia aparece como JavaScript no obstructivo, y que se define como:
JavaScript no obstrusivo es un paradigma floreciente en el uso del lenguaje de programación JavaScript, utilizado en la Web. Aunque el término no se define formalmente, sus principios generalmente incluyen:
  • Separación de la funcionalidad JavaScript (la "capa del comportamiento") de las capas de estructura/contenido y de presentación de un página.
  • Uso de buenas prácticas a fin de evitar los problemas de incompatibilidad de la programación tradicional en JavaScript (tales como inconsistencias entre navegadores y falta de escalabilidad).
 En el artículo How to create an unobtrusive print this page link with JavaScript nos explican como crear un botón de imprimir que sea no molesto.

martes, 11 de noviembre de 2008

JavaScript no molesto

Hace un tiempo escribí algunas entradas sobre JavaScript no molesto (unobtrusive JavaScript), mal traducido como JavaScript no obstructivo o no intrusivo:
Acabo de encontrar el sitio web del libro Unobtrusive JavaScript. En la página web se puede encontrar parte del libro de forma gratuita, el libro en sí contiene dos capítulos adicionales: DOM accidents y Outdated JavaScript techniques.

viernes, 23 de mayo de 2008

Easy Scroll

Acabo de encontrar la página de Easy Scroll: Accessible Content Scroller. Se trata de un código en JavaScript que permite crear contenido con botones de desplazamiento (scroll) propios del desarrollador y que el contenido sea accesible. La accesibilidad reside en que el contenido es accesible cuando JavaScript no está disponible.

Este tipo de código JavaScript es lo que se llama JavaScript no molesto (1): Definición.

sábado, 5 de abril de 2008

Los menús de navegación desplegables

He encontrado la página Menús de navegación desplegables y problemas de usabilidad donde se comentan los problemas de accesibilidad y de usabilidad que presentan los menús de navegación desplegables que se emplean para ocultar las opciones de navegación. Estos menús suelen estar programados con JavaScript, por lo que son inaccesibles si no se tiene soporte de JavaScript en el navegador empleado.

martes, 29 de enero de 2008

Serie "Guía breve": Scripts, applets y plug-ins

Consejo 7: Scripts, applets y plug-ins: Proporcione una alternativa en caso de que los recursos utilizados no sean accesibles o compatibles.

Algunos de los navegadores que emplean las personas discapacitadas no son capaces de interpretar el código de script (JavaScript) o algunos elementos multimedia como applets programados en Java u objetos realizados con Macromedia Flash que requieren de un plug-in. Además, aún en el caso de que pudiesen interpretarlos, sería muy difícil proporcionar una representación alternativa (por ejemplo, una representación textual para una animación de un applet).

Por regla general, el HTML Dinámico (DHTML) no funcionará con un navegador no visual y no será accesible. Cualquier efecto que se base en mostrar u ocultar capas como respuesta a un evento del ratón, como por ejemplo, menús desplegables o información adicional al pasar el ratón por encima de un elemento, no será accesible y es necesario proporcionar una alternativa.

En entradas anteriores se ha explicado cómo lograr que el código JavaScript sea accesible. Estas entradas han sido:

miércoles, 5 de diciembre de 2007

JavaScript no molesto (5): validación de formularios

En la entrada JavaScript no molesto (4): separación del JavaScript se explicó cómo aprovechar el atributo class para separar el código JavaScript del código XHTML. En esta entrada se va a explicar cómo utilizar la misma técnica para validar formularios.

Los formularios se deben validar en el navegador por varias razones, las más importantes son:

  • Disminuye el tiempo de respuesta de la aplicación: el usuario no tiene que esperar a que se envíen los datos al servidor, se validen en el servidor y se reciba una respuesta para saber si los datos están bien o están mal.
  • Se reduce la carga de trabajo del servidor (no del todo, como ahora se explicará): en el servidor no se tienen que validar los formularios de todos los usuarios, en el navegador de cada usuario se validan los datos que ha introducido.

La segunda razón no es verdad en parte, porque SIEMPRE hay que validar los datos que se reciben en el servidor, ya que un usuario malicioso los puede enviar directamente, sin pasar antes por la validación de nuestro formulario. Por tanto, la solución que vamos a ver para separar el JavaScript del XHTML no supone un problema cuando no se dispone de JavaScript, ya que los datos serán validados en el servidor.

Sí que puede haber problemas cuando se emplea JavaScript para actualizar un control del formulario o una página web en función de las acciones del usuario. Por ejemplo, el típico caso de las listas desplegables en cascada (una lista que muestra sus valores en función de lo que se ha elegido en otra lista) realizado con JavaScript no funcionaría si está desactivado. Este problema es distinto al que se explica en esta entrada y merece una para él solo.

Consejo 1: no se debe usar botones de tipo button con el evento onclick para enviar un formulario

El código siguiente presenta un grave problema de accesibilidad: cuando JavaScript no está disponible, el formulario no se puede enviar.

function validar() {
// Algunas instrucciones para validar
// Al final, si todo va bien, se envía el formulario
document.forms[0].submit();
}

<input type="button" value="Enviar" onclick="validar()">Para solucionar este problema, se deben emplear los botones de tipo submit y utilizar el evento onsubmit para llamar al código de validación:

function validar() {
// Algunas instrucciones para validar
// Al final, si todo va bien, se envía el formulario
document.forms[0].submit();
}

<form action="unapagina.php" onsubmit="return validar()"></form>Consejo 2: utiliza múltiples clases para indicar el tipo de validación que requiere cada control de un formulario

En el artículo A Guide to Unobtrusive JavaScript Validation se presentan técnicas para separar el código JavaScript que realiza la validación de un formulario:
  • Utilizar campos ocultos (hidden) para indicar las validaciones que se tienen que realizar (valor requerido, correo electrónico, código postal).
  • Utilizar el atributo class para indicar el tipo de validación.
  • Crear un DTD propio para añadir atributos que indican el tipo de validación.

La primera opción es poco práctica, ya que no es adecuada para formularios complejos con muchos campos. La tercera opción tampoco es práctica, ya que una página web basada en un DTD propio no es una página válida respecto a XHTML. Por tanto, la opción más recomendable es la segunda.

En el class se pueden añadir valores para indicar el tipo de validación que requiere el control:

  • required
  • notrequired
  • email
  • integer
  • date

Por ejemplo:

<input type="text" name="correo" class="required email">
Para más información sobre cómo lograr un manejo de formularios correcto con JavaScript:

viernes, 30 de noviembre de 2007

Esquinas redondeadas

Las esquinas redondeadas, como las que se pueden ver en esta misma página, son un estilo visual muy empleado por su vistosidad. Sin embargo, tienen varios problemas de los que me gustaría destacar dos:
  • Se suelen basar en el empleo de imágenes, lo que origina un aumento en el peso de la página (aumenta el tiempo de carga) y origina problemas de mantenimiento (por ejemplo, si se desea cambiar los colores hay que cambiar las imágenes).
  • Al utilizar imágenes puede ocasionar problemas de accesibilidad o, al menos, molestar a los usuarios que empleen un lector de pantallas.
Acabo de encontrar Esquinas redondeadas sin emplear imágenes: sólo CSS y JavaScript. Se trata de una traducción de la página Nifty Corners Cube. Desde estas páginas nos podemos descargar un script en JavaScript que permite tener esquinas redondeadas (y algunas cosas más) sin tener que utilizar imágenes. Y si JavaScript no está disponible, no pasa nada, las esquinas salen cuadradas pero la página se ve bien.


Un ejemplo de página que usa este script:



¿Cómo se consigue? En Nifty Corners: rounded corners without images (la primera versión de este script) se explica el truco.

miércoles, 28 de noviembre de 2007

JavaScript no molesto (4): separación del JavaScript

La entrada de ayer terminaba con la pregunta ¿No se puede separar el código JavaScript del código HTML como se hace con CSS?

Sí, sí que se puede. Una página web se puede construir mediante capas:

  • Capa de contenido: la estructura y el contenido con etiquetas de XHTML.
  • Capa de presentación: la presentación del contenido definida con CSS.
  • Capa de comportamiento: el comportamiento del contenido (por ejemplo, la respuesta ante una acción del usuario) definido con JavaScript.

Con un diseño basado en capas logramos reducir el acomplamiento entre los distintos componentes (contenido, presentación y comportamiento), lo que se traduce en importantes beneficios: disminución de los errores, reducción en los costes de mantenimiento, etc. Pero además, una página web construida de esta forma (que se conoce como progressive enhancement) casi siempre es graceful degradation, y por tanto la página web funcionará correctamente aun en el caso de que falte algún tipo de componente (CSS o JavaScript).

¿Cómo se puede lograr esto? En el código HTML no vamos a escribir ni una sola línea de código JavaScript. Más aun, tampoco se van a emplear los manejadores de eventos como onclick, onblur, etc.

Desde JavaScript, se puede asignar código de JavaScript a un manejador de eventos con el siguiente código:

elemento.evento = acccion;

Para seleccionar un elemento de la página web (una celda en una tabla, un botón en un formulario, un enlace, etc.) se puede emplear:

  • getElementById(id): selecciona el emento indicado por el id.
  • Usar una combinación de getElementsByTagName(etiqueta) y getAttribute(atributo) para seleccionar elementos con un atributo específico.

En la entrada JavaScript no molesto (3): las ventanas emergentes se puso como ejemplo los enlaces que se abren en ventanas emergentes. Para indicar que un enlace es de este tipo, vamos a añadir al atributo class un valor que no se emplea en el CSS, pero que desde CSS nos va a permitir saber que se trata de una ventana emergente:


<a href="http://www.ua.es/" class="estilo popup">Universidad de Alicante</a>
En el atributo class, el valor estilo se emplea en el CSS para asignar una presentación concreta, mientas que el atributo popup se emplea en JavaScript para identificar los enlaces que se tienen que abrir en ventanas emergentes:



window.onload = prepareLinks;
function prepareLinks() {
var links = document.getElementsByTagName("a");
for (var i=0; i= 0) {
links[i].onclick = function() {
popUp(this.getAttribute("href"));
return false;
}
}
}

}

function popUp(winURL) {
window.open(winURL,"popup","width=320,height=480");
}

En el código anterior se realizan los siguientes pasos:
  1. Se asigna al evento onload la función prepareLinks: esta función será llamada automáticamente cuando la página termine de cargarse.
  2. La función prepareLinks obtiene un array con todos los enlaces de la página web.
  3. Para cada enlace, se comprueba si el atributo class contiene el valor popup.
  4. Si el enlace está marcado como popup, le asigna una función de JavaScript al evento onclick.
Para más información sobre cómo lograr la separación del código JavaScript:

martes, 27 de noviembre de 2007

JavaScript no molesto (3): las ventanas emergentes

Una ventana emergente (popup window) es una ventana independiente del navegador que se abre de forma automática (por ejemplo, las molestas ventanas emergentes de publicidad que se abren al cargar una página) o de forma manual como respuesta a una acción del usuario de una página (por ejemplo, al pulsar sobre un enlace).

En el caso de estas últimas, lo normal es que se abran tras pulsar el usuario sobre un enlace o un botón. El uso de botones con el evento onclick se debería evitar, ya que supone una barrera de accesibilidad en el caso de que JavaScript no esté disponible. Por tanto, nos vamos a centrar en las ventanas emergentes activadas al pulsar sobre un enlace.

En el href de un enlace se puede utilizar directamente JavaScript. Por ejemplo, suponiendo que tenemos la función popUp que abre una ventana emergente:


function popUp(winURL) {
window.open(winURL,"popup","width=320,height=480");
}
simplemente tenemos que escribir javascript:popUp('http://www.ua.es/') en la dirección del enlace. También se puede emplear el evento onclick y dejar la dirección en blanco o poner el símbolo "#":

<a href="" onclick="popUp('http://www.ua.es/');">UA</a>Cualquiera de las dos posibilidades impide que los usuarios sin JavaScript puedan acceder al contenido indicado.

La solución es muy sencilla:

  • Añadir en el enlace una URL al contenido que se desea visualizar.
  • En el código JavaScript, añadir return false; al final para evitar que se ejecute el enlace cuando se ejecute el código JavaScript. La URL del enlace indicada con href sólo será empleada cuando JavaScript no esté disponible.
Con esta solución, la funcionalidad se ve reducida para los usuarios sin JavaScript porque no se abre en una nueva ventana, pero no falla completamente.

La solución anterior se puede mejorar para evitar el tener que repetir la URL tanto en el enlace como en el evento onclick:

<a href="http://www.ua.es/" onclick="popUp(this.getAttribute('href')); return false;">UA</a>o también:

<a href="http://www.ua.es/" onclick="popUp(this.href); return false;">UA</a>Pero esta solución aún se puede mejorar más, ya que el código JavaScript está escrito directamente en las etiquetas HTML, lo cual ocasiona algunos problemas:
  • Dificulta la escritura.
  • Dificulta la lectura.
  • Dificulta el mantenimiento.

¿No se puede separar el código JavaScript del código HTML como se hace con CSS?


lunes, 26 de noviembre de 2007

Página con muchos recursos

Acabo de encontrar la página web Web Design References: Accessibility. Es una página web muy buena, ya que contiene multitud de enlaces a páginas web donde explican temas relacionados con la accesibilidad. Los temas que contiene son:
  • Abbreviations & Acronyms
  • Accessibility Statements
  • Accesskeys
  • Alt Attributes , Alt Text, Long Descriptions
  • Assistive Technology
  • Baseline
  • Benefits (Why accessibility?)
  • Captcha (Completely Automated Public Turing test to tell Computers and Humans Apart)
  • Checklists
  • Cognitive Disabilities
  • Definitions and Overviews
  • Device Independence and Graceful Degradation
  • Deprecated Features
  • Flicker
  • Forms
  • Language
  • Law, Lawsuits, Policies
  • Lists
  • Mailto
  • Multimedia
  • Open Source
  • Plugins, PDF, PowerPoint, etc.
  • Relative sizing
  • Scripts
  • Structure & Semantics
  • Style Sheets (Accessibility)
  • Tables
  • Testing, Checking, Validating
  • Text Links
  • Text Only Versions
  • Usability and Accessibility
  • Zoom Layouts
  • Articles & Related Links

viernes, 23 de noviembre de 2007

JavaScript no molesto (2): cómo desactivar JavaScript

Antes de analizar algunas técnicas para conseguir que JavaScript "no moleste" en la página, vamos a ver cómo desactivar el intérprete de JavaScript en los navegadores más comunes. De esta forma, podremos comprobar si una página que contiene código JavaScript sigue siendo funcional y accesible cuando el código JavaScript no se ejecuta.

En Microsoft Internet Explorer 7, en el menú Herramientas --> Opciones de Internet --> Seguridad --> Nivel personalizado... se abre el cuadro de diálogo Configuración de seguridad; en la categoría Automatización (Scripting) hay que deshabilitar la opción Active scripting, tal como podemos ver en la siguiente imagen:

En Microsoft Internet Explorer también es interesante desactivar la opción Scripting de applets de Java.


En Mozilla Firefox 2.0, en el menú Herramientas --> Opciones --> Contenido tenemos que desactivar la opción Activar JavaScript que podemos ver en la siguiente imagen:



En Opera 9 hay dos formas de desactivar JavaScript:
  • Menú Herramientas --> Opciones más a mano --> Activar JavaScript
  • Menú Herramientas --> Opciones --> Avanzado --> Activar JavaScript, como podemos observar en la siguiente imagen.


Entradas anteriores:

jueves, 22 de noviembre de 2007

JavaScript no molesto (1): Definición

El término JavaScript no molesto es la traducción del inglés unobtrusive JavaScript. En muchas páginas (por ejemplo, en la Wikipedia) aparece mal traducido como JavaScript no obstructivo o no intrusivo. Ni obstructivo ni intrusivo existen en el Diccionario de la lengua española de la Real Academia Española, por lo que no se deben usar. Unobtrusive se traduce al español como discreto o no molesto.

La Wikipedia contiene la definición de JavaScript no obstructivo:
JavaScript no obstructivo es un paradigma floreciente en el uso del lenguaje de programación JavaScript, utilizado en la Web. Aunque el término no se define formalmente, sus principios generalmente incluyen:
  • Separación de la funcionalidad JavaScript (la "capa del comportamiento") de las capas de estructura/contenido y de presentación de un página.
  • Uso de buenas prácticas a fin de evitar los problemas de incompatibilidad de la programación tradicional en JavaScript (tales como inconsistencias entre navegadores y falta de escalabilidad).

El objetivo final es que las páginas web sean totalmente funcionales para aquellos usuarios que no puedan o no quieran hacer uso de JavaScript.

Cuando escribí sobre Hijax: Ajax accesible ya comenté que esta técnica se basa en lo que se conoce en inglés como progressive enhancement y graceful degradation, dos estrategias que permiten que un sistema informático (en este caso, una página web) funcione correctamente aun en el caso de que falte algún tipo de componente. Mientras que con progressive enhancement se parte de una versión básica completamente operativa (se parte de una página web compatible con la mayoría de los navegadores y con el menor uso posible de tecnologías complementarias como CSS o JavaScript), con graceful degradation se parte del extremo contrario: se crea una página web para los últimos navegadores, con la posibilidad de que funcione en navegadores antiguos.

¿Hay gente que navega por Internet y su navegador no admite JavaScript? En la página Browser Statistics podemos ver que en enero de 2007 había un 6% de usuarios sin JavaScript.

Pero los beneficios no son sólo para los posibles visitantes de nuestro sitio web: nosotros mismos nos beneficiaremos al tener separados la estructura de la página (HTML), la presentación (CSS) y la lógica (JavaScript). Los costes de mantenimiento de una página web son menores si lo tenemos todo bien separado y en su sitio.

¿Qué se tiene que hacer para tener JavaScript no molesto? En próximas entradas comentaré algunas de las técnicas más comunes. Recomiendo la lectura de la página Javascript no obstructivo, Manual de buenas maneras, que ofrece una extensa explicación del tema.

miércoles, 7 de noviembre de 2007

Ajax y Jaws

Las páginas web que se desarrollan con Ajax presentan importantes problemas de accesibilidad, como podemos leer en estas páginas:
Básicamente, los problemas se deben a que con Ajax el contenido de una página web puede cambiar sin que el usuario tenga conocimiento de ello y eso es un problema para todos los usuarios en general y muy en especial para los usuarios discapacitados que utilizan algún software de apoyo.

Acabo de encontrar el artículo Improving Ajax applications for JAWS users. En este artículo se describe un modo de mejorar la accesibilidad de las páginas web basadas en Ajax para que funcionen correctamente cuando se visitan utilizando un lector de pantallas como Jaws.

El método propuesto en este artículo se basa en actualizar mediante JavaScript el buffer virtual que emplea Jaws para leer la página web. Pero este método depende de que el desarrollador de la página web la prepare para trabajar con el buffer virtual de Jaws, lo cual es mucho pedir.

jueves, 4 de octubre de 2007

Hijax: Ajax accesible

Acabo de encontrar un nuevo término: Hijax. Bajo este término se esconde una estrategia de uso de Ajax que tiene el objetivo de lograr páginas web accesibles: que las páginas sean totalmente funcionales para aquellos usuarios que no puedan hacer uso de Ajax (por ejemplo, porque quieren o no pueden hacer uso de JavaScript).

Esta técnica se basa en lo que se conoce en inglés como progressive enhancement y graceful degradation, dos estrategias que permiten que un sistema informático (en este caso, una página web) funcione correctamente aun en el caso de que falte algún tipo de componente.

Mientras que con progressive enhancement se parte de una versión básica completamente operativa (se parte de una página web compatible con la mayoría de los navegadores y con el menor uso posible de tecnologías complementarias como CSS o JavaScript), con graceful degradation se parte del extremo contrario: se crea una página web para los últimos navegadores, con la posibilidad de que funcione en navegadors antiguos.

En el caso de Hijax, la estrategia que se emplea para lograr el progressive enhancement es la siguiente:
  1. Primero, diseñar un sitio web al "estilo antiguo", con enlaces y acciones de formularios que envían información al servidor y este devuelve una página completa con cada petición.
  2. A continuación, emplear JavaScript para capturar todos los enlaces y las acciones de los formularios para enviar la infomación mediante XMLHttpRequest. De este modo se puede seleccionar que parte de la página se pueden actualizar de forma individual en vez de tener que recargar toda la página.
Se puede encontrar más de información sobre este tema en esta página: Hijax.


Actualización (12/11/2007) Unas páginas con información interesante sobre Ajax y accesibilidad:

Actualización (21/11/2007) Un nuevo término sobre Ajax y la accesibilidad web: AxsJax. Más información en este comentario y en este otro.