Estoy trabajando en Accesibilidad y agregué un "tabindex = 0" dentro de mi etiqueta "tr". El problema es que si entro en ese "tr" y presiono "Enter" en mi teclado, el "onclick" no funciona, pero si uso el mouse para hacer clic en el enlace, todavía funciona. Intenté agregar una etiqueta de anclaje dentro de la etiqueta "tr" donde se declara "onclick", pero no funcionó. Esto también se usa dentro del código python donde "tr" es parte de una cadena. Aquí está mi código.
#print open shifts line personal_table += """ <tr tabindex="0" class="open_shift_line odd clickable" onclick="pop_over_window('/AcStaf/Home/my_self_schedule?id=%s&bdate=%s&edate=%s','Open Shifts')"> <td>%s%s Open Schedule</td> <td style="color:#EB0000">Closes %s at %s</td></tr>""" %(id, per_startdate, per_enddate, sch_req_text, container.util.getDateDisplay(bdate=per_startdate, edate=per_enddate, date_format='%m-%d-%Y'), container.util.getDateTimeStr(date=pub_period['publish_edate'], fmt='%m-%d'), container.util.format_acutime(acutime=pub_period['publish_etime']))¿Necesito reemplazar onclick con "a href"? ¿Cuáles son mis opciones?
Todos los elementos que se hacen enfocables artificialmente con tabindex=0 no reaccionan automáticamente al teclado de ninguna manera. Tienes que manejar los eventos del teclado tú mismo.
Esto es confuso para muchas personas.
Por el contrario, los elementos que se pueden enfocar de forma natural , como enlaces o botones, tienen soporte incorporado para eventos de teclado. Al presionar enter se activa el controlador onclick o onsubmit, sin necesidad de que haga nada.
Esta es la razón por la que generalmente se recomienda utilizar elementos enfocables de forma natural siempre que sea posible. Sin embargo, para su caso, no puede.
En resumen, debe manejar la tecla Intro usted mismo.
Puede lograr esto con algún javascript (con jQuery en este ejemplo):
$(document).keyup(function(event) { if (event.keyCode === 13) { //13 is enter key $(':focus').trigger('click'); // clicks focused element } });