Professional Documents
Culture Documents
Introduction
adfa, p. 1, 2011.
Springer-Verlag Berlin Heidelberg 2011
Marco terico
2.1
Qu es la accesibilidad web?
2.2
Rol de APP+
2.3
Ventajas
Ms usuarios, ms beneficiarios
Los estndares accesibles tambin incluyen especificaciones que permiten la utilizacin de las herramientas de Internet por parte de personas con baja visin o con
afecciones particulares, como el daltonismo.
El cumplimiento de estas recomendaciones permite, adems, el acceso de personas
con discapacidades motrices que no pueden utilizar dispositivos de entrada estndares
(teclado, mouse), y de usuarios en entornos tecnolgicos con restricciones, que utilizan software o hardware antiguo, equipos mviles con pantallas pequeas, conexiones
lentas, etc.
Tambin presenta avances para aquellos usuarios con insuficiencia de medios, que
acceden a los servicios de Internet mediante equipos y conexiones con capacidades
limitadas, para usuarios que no dominen completamente el idioma, y para usuarios
inexpertos o que presentan inseguridad frente a la utilizacin de diversos dispositivos
electrnicos.
2.5
Las Pautas de Accesibilidad al Contenido en la Web (WCAG)[6] son una especificacin del W3C (World Wide Web Consortium)[7] que proporciona una gua sobre la
accesibilidad de los sitios de la Web[8] para las personas con discapacidad. Han sido
desarrolladas por la Iniciativa de Accesibilidad en la Web (WAI) del W3C.
Las pautas describen cmo hacer pginas Web accesibles sin sacrificar el diseo,
ofreciendo esa flexibilidad que es necesaria para que la informacin sea accesible en
diferentes situaciones y proporcionando mtodos que permiten su transformacin en
pginas tiles e inteligibles.
La especificacin contiene catorce pautas, que son los principios generales para el
diseo accesible, y cada una est asociada a uno o ms puntos de verificacin que
describen cmo aplicar esa pauta a las caractersticas particulares de las pginas web.
Cada punto de verificacin est asignado a uno de los tres niveles de prioridad establecidos por las pautas:
Prioridad 1: son aquellos puntos que un desarrollador web tiene que cumplir ya
que, de lo contrario, ciertos grupos de usuarios no podran acceder a la informacin
del sitio web.
Prioridad 2: son aquellos puntos que un desarrollador web debera cumplir ya que,
si no fuese as, a ciertos grupos de usuarios les sera muy difcil el acceso a la informacin.
Prioridad 3: son aquellos puntos que un desarrollador web debera cumplir ya que,
de otra forma, algunos usuarios experimentaran ciertas dificultades para acceder a
la informacin.
En funcin de estos puntos de verificacin se establecen los niveles de conformidad:
Nivel de Conformidad A: todos los puntos de verificacin de prioridad 1 se satisfacen.
Legislacin
Hoy en da los sitios web la mayora de los sitios web, entre ellos Facebook, Twitter,
Youtube, La Nacin, etc, nos proveen su Apis, (Application Programming Interface),
la cual permite el acceso directo a los datos publicados en cada sitio desde cualquier
aplicacin. Usa una interfaz RESTful y retorna los datos en formato JSON. Estas nos
permiten no solo a acceder a su informacin, sino tambin nos habilita a utilizar muchsimos mtodos de sus principales funcionalidades.
Las APIs[10] ofrecen una capa de abstraccin, es decir, encapsulan sus mecanismos internos en funciones y procedimientos que utilizamos brindndonos parmetros
y obteniendo un resultado.
Ejemplo de los que nos proveen algunas de las Apis
La API de YouTube[11] nos permite modificar el aspecto y las funciones del reproductor de videos. Tambin es posible crear nuevas aplicaciones que permitan
generar, buscar o clasificar videos en YouTube a travs de una interfaz propia. Esto nos permite crear una interfaz accesible. La API brinda funciones para obtener
informacin sobre usuarios y videos.
Google Maps[12] permite insertar mapas en nuestro sitio web. Pero la opcin ms
interesante es la de modificar los mapas agregando informacin (como puntos geogrficos o recorridos de inters), grficos y videos propios, adems de funciones
interactivas.
Flickr[13] habilita una generosa coleccin de mtodos para el manejo de fotografas, galeras, favoritos, grupos, foros de consulta e informacin de usuario.
Twitter[14] autoriza la integracin de la plataforma con sitios web pero tambin
nos permite crear aplicaciones que procesen informacin sobre el timeline, el flujo
de tweets en tiempo real, los mensajes directos, las listas de favoritos y muchos
otros aspectos.
La API de Facebook[15] brinda grandes herramientas para los accesos a sus funcionalidades desde ver amigos y fotos hasta enviar mensajes en tiempo real.
Gracias a estas Apis nosotros mostramos toda esta informacin que obtenemos de
una manera ms intuitiva, simple y accesible. No modificamos los datos, nada ms lo
mostramos de una manera diferente, bajo conceptos de accesibilidad, usabilidad y
experiencia de usuario, cumpliendo con los estndares web de la w3c.
La figura muestra cmo a partir de las Apis se fue construyendo una arquitectura
a partir de la utilizacin de frameworks de construccin y soluciones para el acceso
funcional y representacin de las componentes hipermediales. Para este propsito se
utiliz tecnologa para JavaScript con la colaboracin de frameworks Express de
NODE.JS, implementando el patrn Modelo Vista Controlador a travs del framework Angular.js. Para el almacenamiento de datos se utiliz JQuery. El contenido de
las pginas Web se implement a travs de HTML5. Las dems componentes intervienen para el agregado de funcionalidades y propiedades de accesibilidad anteriormente mencionadas.
La (figura 1) muestra la arquitectura de las tecnologas que utilizamos para realizar
esta aplicacin.
La interfaz funciona como conector entre los datos almacenados en los diferentes
sitios webs y el usuario (figura 2).
El medio para enlazar los mismos es la API que proveen los sitios web. A continuacin se brindan los detalles relevantes de la tecnologa utilizada y la forma de
adaptarla a los objetivos de este trabajo.
3.1
La mayora de los sitios web proveen sus propias Apis para la reutilizacin de sus
habituales servicios. En este caso se utilizaron para la implementacin de las siguientes prestaciones:
Login: nos permite utilizar la autenticacin del usuario y contrasea especificados
al ingresar a las diferentes redes sociales.
Social plugins: es la posibilidad de contar con los diferentes botones.
Graph API: nos permitir obtener la mayor cantidad de informacin sobre el usuario. (amigos, ubicacin geogrfica, posts)
Nuestra plataforma utilizar JavaScript como lenguaje de interpretacin de las funcionalidades ejecutadas desde el cliente.
3.2
Tecnologas
API (siglas de Application Programming Interface) es un conjunto de reglas (cdigo) y especificaciones que las aplicaciones pueden seguir para comunicarse entre
ellas: sirviendo de interfaz entre programas diferentes de la misma manera en que la
interfaz de usuario facilita la interaccin humano-software. Las API son valiosas, ante
todo, porque permiten hacer uso de funciones ya existentes en otro software (o de la
infraestructura ya existente en otras plataformas) para no estar reinventando la rueda
constantemente, reutilizando as cdigo que se sabe que est probado y que funciona
correctamente. En el caso de herramientas propietarias (es decir, que no sean de cdigo abierto), son un modo de hacer saber a los programadores de otras aplicaciones
cmo incorporar una funcionalidad concreta sin por ello tener que proporcionar informacin acerca de cmo se realiza internamente el proceso.
Node.js[16](de ahora en adelante Node) es un entorno JavaScript de lado de servidor que utiliza un modelo asncrono y dirigido por eventos.
Node usa el motor de JavaScript V8 de Google, el cual es actualizado constantemente y es uno de los intrpretes ms rpidos que puedan existir en la actualidad para
cualquier lenguaje dinmico, como es JavaScript. Esto nos permite mantener muchas
conexiones abiertas y esperando, como por ejemplo pasa en un chat. Tambin node
especialmente bueno en aplicaciones web que necesiten una conexin persistente con
el navegador del cliente. Mediante una serie de tcnicas llamadas Comet, es una peticin HTTP mantenida abiertamente que permite a un servidor web enviar datos a un
navegador por Tecnologa Push, sin que el navegador los solicite explcitamente, con
esto se puede hacer una aplicacin que enve datos al usuario en tiempo real; es decir,
que el navegador mantenga la conexin siempre abierta y reciba continuamente nuevos datos cuando los haya, lo que nos permite por ejemplo actualizar automticamente las novedades de un muro o tus nuevos posts.
Angular.js[17], este pequeo framework que permite construir aplicaciones usando Javascript siguiendo el patrn MVC (modelo-vista-controlador).
Est construido en torno a la creencia de que la programacin declarativa es la que
debe utilizarse para generar interfaces de usuario y enlazar componentes de software,
mientras que la programacin imperativa es excelente para expresar la lgica de negocio. Este framework adapta y ampla el HTML tradicional para servir mejor contenido dinmico a travs de un data-binding bidireccional que permite la sincronizacin
automtica de modelos y vistas. Como resultado, AngularJS pone menos nfasis en la
manipulacin del DOM y mejora la testeabilidad y el rendimiento.
Los objetivos de diseo:
Disociar la manipulacin del DOM de la lgica de la aplicacin. Esto mejora la
capacidad de prueba del cdigo.
Considerar a las pruebas de la aplicacin como iguales en importancia a la escritura de la aplicacin. La dificultad de las pruebas se ve reducida dramticamente por
la forma en que el cdigo est estructurado.
Disociar el lado del cliente de una aplicacin del lado del servidor. Esto permite
que el trabajo de desarrollo avance en paralelo, y permite la reutilizacin de ambos
lados.
Guiar a los desarrolladores a travs de todo el camino de la construccin de una
aplicacin: desde el diseo de la interfaz de usuario, a travs de la escritura de la
lgica del negocio, hasta las pruebas.
Angular sigue el patrn MVC de ingeniera de software y alienta la articulacin
flexible entre la presentacin, datos y componentes lgicos. Con el uso de la inyec-
cin de dependencias, Angular lleva servicios tradicionales del lado del servidor, tales
como controladores dependientes de la vista, a las aplicaciones web del lado del cliente. En consecuencia, gran parte de la carga en el backend se reduce, lo que conlleva a
aplicaciones web mucho ms ligeras. Tambin nos proporciona una forma para trabajar con servicios REST desde las Apis para la recuperacin y actualizacin de datos
de los modelos que sern guardados en el servidor.
Bootstrap[18], es framework de Twitter que permite crear interfaces web con CSS
y JavaScript que adaptan la interfaz dependiendo del tamao del dispositivo en el que
se visualice de forma nativa, es decir, automticamente se adapta al tamao de un
ordenador o de una Tablet sin que el usuario tenga que hacer nada, esto se denomina
diseo adaptable o Responsive Design.
Prototipos
Referencias
1. Organizacin
Mundial
de
la
Salud
y
el
Banco
Mundial,
http://www.who.int/features/factfiles/disability/es/
2. Discapacidad en Argentina, http://www.pagina12.com.ar/diario/sociedad/3-257133-201410-09.html
3. Plan Nacional Contra la Discriminacin (Decreto Nacional 1086/2005),
http://www.legischubut2.gov.ar/digesto/lxl/I-533-ANEXO-A.pdf.
4. la Ley de Accesibilidad de la Informacin en las Pginas Web,
http://www.prensa.argentina.ar/2013/04/05/39599-reglamentaron-la-ley-de-acceso-a-laweb-de-personas-con-discapacidad.php.
5. Instituto Nacional de Tecnologas de la Comunicacin (INTECO) de Espaa, Gua prctica
de
comprobacin
de
accesibilidad,
http://www.urbal3.eu/uploads/noticias/07_comprobacion_de_la_accesibilidad_formularios.pdf.
6. Pautas
de
Accesibilidad
al
Contenido
en
la
Web,
http://www.sidar.org/traducciones/wcag20/es/
7. World Wide Web Consortium (W3C), http://www.w3c.es/
8. Guia de accesibilidad Web, http://w3c.es/Divulgacion/GuiasBreves/Accesibilidad
9. Legislacin argentina a la Convencin sobre los Derechos de las Personas con Discapacidad,
aprobada
por
la
Ley
25.280
del
ao
2008,
http://www.infoleg.gov.ar/infolegInternet/anexos/60000-64999/63893/norma.htm.
10. Api, http://www.ticbeat.com/tecnologias/que-es-una-api-para-que-sirve/
11. Youtube developer, documentacion sobre la api que provee youtube para el desarrollo de
una aplicacin, https://www.youtube.com/yt/dev/api-resources.html
12. Google developer, documentacin sobre la api que provee google para el desarrollo de una
aplicacin, https://developers.google.com/gmail/api/
13. Flickr developer, documentacin sobre la api que provee twitter para el desarrollo de una
aplicacin, https://www.flickr.com/services/developer
14. Twitter developer, documentacin sobre la api que provee twitter para el desarrollo de una
aplicacin https://dev.twitter.com/
15. Facebook developer, documentacion sobre la api que provee facebook para el desarollo de
una aplicacin https://developers.facebook.com/
16. Node.js, https://nodejs.org/
17. Anjular.js, https://angularjs.org/
18. Bootstrap, http://getbootstrap.com/