Retroceder   Foros del Web > Programación para sitios web > Javascript

Respuesta
 
Herramientas Desplegado
Antiguo 13-may-2006, 12:07   #1 (permalink)
Colaborador
kahlito tiene algunos puntos positivos de karma
 
Avatar de kahlito
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.554
Evento onkeypress accesible

Hola, estoy haciendo varias pruebas con formularios y algo de javascript y a la vez me gustaria hacerlo accesible.

Por ejemplo aquí cambio o llamo a otras hojas de estilo:

Código HTML:
<ul class="estilos"> 
<li class="estilos"><a href="principal.html" onclick="setActiveStyleSheet('estilo_hoja');return false">Uno</a></li> 
<li class="estilos"><a href="principal.html" onclick="setActiveStyleSheet('estilo2');return false">Dos</a></li> 
<li class="estilos"><a href="principal.html" onclick="setActiveStyleSheet('estilo3');return false">Tres</a></li> 
</ul>
Y aquí un ejemplo de formulario:

Código HTML:
<form id="formulario" action="contacto_final.php" method="post" onsubmit="return ValidarContacto(this)" onkeypress="" >
<p><label for="nombre">Nombre:</label></p>
<div><input type="text" name="nombre" id="nombre" size="20" maxlength="50" accesskey="n" />
</div>
<p><label for="ciudad">Ciudad:</label></p>
<div><input type="text" name="ciudad" id="ciudad" size="20" maxlength="100" accesskey="c" />
</div>
<p><label for="email">Email:</label></p>
<div><input type="text" name="email" id="email" size="20" maxlength="50" accesskey="e" />
</div>
<p><label for="asunto">Asunto:</label></p>
<div><input type="text" name="asunto" id="asunto" size="20&ccedil;" maxlength="30" accesskey="a" />
</div>
<p><label for="mensaje">Mensaje:</label></p>
<div><textarea name="mensaje" id="mensaje" cols="40" rows="5" accesskey="m"></textarea>
</div>
<div><input type="submit" value="  Enviar  "/><input type="reset" value="  Borrar  "  />
</div>
</form>
Y el problema viene a la hora de hacerlos accesibles donde me advierten que me hace falta onkeypress por ejemplo:

Se usan manejadores de eventos que dependen de un dispositivo sin manejadores redundantes (onclick sin onkeypress, por ejemplo).
Los eventos deben poder activarse con cualquier dispositivo porque hay usuarios que no pueden, por ejemplo, usar un ratón. Por tanto se deben especificar manejadores de evento independientes del tipo de dispositivo o definir eventos redundantes.

WCAG 6.4: Para los scripts y applets, asegúrese de que la ejecución de los manejadores de evento sea independiente del tipo de dispositivo. (Este punto incluye el 9.3). (Prioridad 2)

¿Como podria meter onkeypress tanto en uno como en otro? La verdad es que no entiendo el manejo correcto o función exacta que hace "onkeypress".
kahlito está desconectado   Responder Citando
Antiguo 13-may-2006, 13:55   #2 (permalink)
Colaborador
alvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradable
 
Avatar de alvlin
 
Fecha de Ingreso: julio-2005
Ubicación: Rodeado de indios... por suerte son amigos :)
Mensajes: 3.663
Enviar un mensaje por MSN a alvlin Enviar un mensaje por Yahoo  a alvlin Enviar un mensaje por Skype™ a alvlin
Hay que recordar que las pautas de accesibilidad son eso, pautas. onkeypress es como onclick, solo que se activa cuando se presiona una tecla cualquiera sobre el elemento.

En este caso, para que onkeypress sea útil, tenés que definirle un atajo de teclado al enlace (con el atributo acceskey, mirá http://www.discapnet.es/web_accesibl...link-accesskey)

Si no lo hacés, usar onkeypress sería inútil, porque no tendrías nunca el foco en el enlace (bueno, según el navegador en realidad).

Saludos.
__________________
Mi Blog

"Por ahora casi nadie me trata de subnormal sin que a los 4 segundos se arrepienta. Porque yo a mis semejantes quiero a todos por igual: en cubitos de 40x40"
alvlin está desconectado   Responder Citando
Antiguo 14-may-2006, 13:28   #3 (permalink)
Colaborador
kahlito tiene algunos puntos positivos de karma
 
Avatar de kahlito
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.554
Hola alvlin.

El problema es que no se exactamente como introducir onkeypress, por ejemplo en el primer caso si pongo algo así (introduciendo onkeypress) ya no me hace la advertencia y ahora si seria más accesible:

Código HTML:
<ul class="estilos"> 
<li><a href="principal.html" onclick="setActiveStyleSheet('estilo_hoja');return false" onkeypress="...">Uno</a></li>
<li ><a href="principal.html" onclick="setActiveStyleSheet('estilo2');return false" onkeypress="...">Dos</a></li>
<li><a href="principal.html" onclick="setActiveStyleSheet('estilo3');return false" onkeypress="...">Tres</a></li>
</ul>
Sin embargo no se exactamente como funciona con javascript onkeypress, y claro si pongo esto no se si sería correcto:

Código HTML:
onkeypress="setActiveStyleSheet('estilo3');return false"
En el segundo caso menos todavia

¿Algun enlace o ejemplo para ver como funcionaria?

Gracias de antemano
kahlito está desconectado   Responder Citando
Antiguo 14-may-2006, 19:53   #4 (permalink)
Colaborador
alvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradable
 
Avatar de alvlin
 
Fecha de Ingreso: julio-2005
Ubicación: Rodeado de indios... por suerte son amigos :)
Mensajes: 3.663
Enviar un mensaje por MSN a alvlin Enviar un mensaje por Yahoo  a alvlin Enviar un mensaje por Skype™ a alvlin
pos todos los eventos, independientemente de cuándo se activen, funcionan igual, son llamadores de funciones. Creo que

onkeypress="setActiveStyleSheet('estilo3');return false"

de hecho es la forma correcta.

Además no olvides usar acceskey si realmente te interesa, ya que de otra forma sería inútil......


Saludos.
__________________
Mi Blog

"Por ahora casi nadie me trata de subnormal sin que a los 4 segundos se arrepienta. Porque yo a mis semejantes quiero a todos por igual: en cubitos de 40x40"
alvlin está desconectado   Responder Citando
Antiguo 16-may-2006, 13:53   #5 (permalink)
Colaborador
kahlito tiene algunos puntos positivos de karma
 
Avatar de kahlito
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.554
Hola de nuevo alvlin

He vuelto a probar y en el segundo ejemplo (del formulario) es suficiente meterle accekey por ejemplo al botón enviar

Sin embargo en el primero he probado por ejemplo metiendo un accekey

Código HTML:
<li class="estilos"><a href="final3b.html" onkeypress="setActiveStyleSheet('estilo_hoja');return false" onclick="setActiveStyleSheet('estilo2');return false" accesskey="c" title="Cargar hoja de estilo dos">CSS</a></li>
y en Hera me advierte: "Se utilizan eventos dependientes del dispositivo."

Se usan manejadores de eventos que dependen de un dispositivo con manejadores redundantes (onclick con onkeypress, por ejemplo).
Los eventos deben poder activarse con cualquier dispositivo porque hay usuarios que no pueden, por ejemplo, usar un ratón. Por tanto se deben especificar manejadores de evento independientes del tipo de dispositivo o definir eventos redundantes.


Bueno voy a seguir probando, al menos he logrado comprender algo más de onkeypress

Gracias alvlin
kahlito está desconectado   Responder Citando
Antiguo 16-may-2006, 18:53   #6 (permalink)
Colaborador
alvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradablealvlin es realmente agradable
 
Avatar de alvlin
 
Fecha de Ingreso: julio-2005
Ubicación: Rodeado de indios... por suerte son amigos :)
Mensajes: 3.663
Enviar un mensaje por MSN a alvlin Enviar un mensaje por Yahoo  a alvlin Enviar un mensaje por Skype™ a alvlin
acordate que son PAUTAS, y que no hay programas que puedan hacerlo todo automáticamente....... a veces aparecen mensajes que no corresponden.....

Leé bien:
Cita:
Se usan manejadores de eventos que dependen de un dispositivo
Acá tenés una lista de los eventos disponibles:
http://www.w3.org/TR/html4/interact/....html#h-18.2.3

Como podrás notar, los eventos independientes del dispositivo no son aplicables o no son necesarios para lo que querés hacer.

Además, en el segundo párrafo dice:
Cita:
se deben especificar manejadores de evento independientes del tipo de dispositivo o definir eventos redundantes.
Y definir eventos redundantes es lo que estás haciendo.

No hay que olvidar que la accesibilidad se basa en que si algo es necesario para la correcta navegación en el sitio, ese algo esté disponible para todos. En tu caso, te aparece un mensaje automático que no se aplica totalmente, y además lo que estás intentando hacer no es un elemento indispensable de navegación que haga que algunos usuarios no puedan navegar en tu sitio.
Vamos, que si nos obligaran a hacer que TODO esté disponible tan estrictamente, la accesibilidad sería imposible: si un usuario es ciego tendrías que describir cada pixel del diseño de tu sitio.
Y probablemente termines describiendo cosas que sean superficiales e irrelevantes.

Pensemos en los usuarios impedidos que uno piensa más frecuentemente: ciegos o personas imposibilitadas de usar las manos (por eso no pueden usar ratón o teclado)
En el primer caso no creo que haya interés en el cambio de diseño visual, y en el segundo caso pos que no hay eventos que puedan activar un enlace sin ratón o teclado.

En resumen, creo que lo que ya hiciste es suficiente para considerar que pasaste esa prueba.


Saludos.
__________________
Mi Blog

"Por ahora casi nadie me trata de subnormal sin que a los 4 segundos se arrepienta. Porque yo a mis semejantes quiero a todos por igual: en cubitos de 40x40"
alvlin está desconectado   Responder Citando
Antiguo 17-may-2006, 02:57   #7 (permalink)
Colaborador
kahlito tiene algunos puntos positivos de karma
 
Avatar de kahlito
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.554
Ok alvlin, entendido, excelente explicación

Muchas gracias, me ha servido de mucho
kahlito está desconectado   Responder Citando
Antiguo 16-jun-2008, 22:27   #8 (permalink)
daPhyre llegará a ser famoso muy prontodaPhyre llegará a ser famoso muy pronto
 
Avatar de daPhyre
 
Fecha de Ingreso: marzo-2008
Ubicación: Idle. Return on 18/08
Mensajes: 734
Respuesta: Evento onkeypress accesible

Se que el tema es antiguo, pero he llegado aquí por que tengo el mismo tema exactamente, y quería saber si en este tiempo alguien ha logrado solucionar este problema, pues quiero que si el usuario no tiene JavaScript se ejecute el link, pero que el JS se ejecute tanto con el enter como con el mouse, y esto para muchos links, por lo que no debo usar tantos AccessKeys. ¿Alguien puede ayudarme?
__________________
<signs> daPhyre </signs>

¿Por qué dejar se usar tablas?
daPhyre está desconectado   Responder Citando
Respuesta
Calificación: Calificación de Tema: 1 votos, 2,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 06:52.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93