2009-08-14 7 views
21

Me preguntaba, en el nuevo HTML 5, obtendremos < audio> y < video> tags, pero ¿por qué no el combobox nativo editable y el soporte de menú local incorporado?¿Por qué HTML 5 no tiene un combobox editable o menús locales incorporados?

La razón por la que estoy preguntando esto es porque estos son los problemas más comunes a los que me enfrento cuando tengo que diseñar una solución web para una aplicación típica basada en tablas (por ejemplo, aplicación de administración de pedidos). En una aplicación adecuada del lado del cliente, puedo usar el sistema operativo para proporcionar estas funciones de forma predeterminada (por ejemplo, JPopupMenu, JComboBox). Para una aplicación web, tengo que buscar javascript (bibliotecas) para lograr algo así.

¿Por qué no están en HTML 5?

Sé que debería evitar la discusión como preguntas, así que aquí están algunas preguntas adicionales: ¿Sabe bibliotecas que pueden hacer la cosa menú emergente y cosa cuadro combinado editable barata (quizás con una pequeña muestra de código)?

Respuesta

49

En realidad, se puede crear un combobox editable o simplemente un combobox utilizando el nuevo atributo de lista en el elemento de entrada. Apunta a un elemento de lista de datos que puede proporcionar una lista de opciones predefinidas:

<input list=languages> 
<datalist id=languages> 
<option value="English"></option> 
<option value="Dutch"></option> 
</datalist>

Para los menús al elemento de menú de edad se ha reutilizado.

Puede utilizar al menos datalist en IE> = 10, Firefox> = 37, Chrome> = 39, Opera> = 29. Datos de caniuse datalist. Acerca del elemento de menú, solo Firefox parece tener un soporte parcial para él.

+1

Descargo de responsabilidad: trabajo para Opera en HTML5 (entre otras cosas). – Anne

+1

Buen trabajo. ¿Hay alguna manera de probarlo? Leí las especificaciones de HTML5 asociadas, pero no estoy seguro de que cubra al 100% mi comprensión de un cuadro combinado editable similar a su contraparte nativa. – akarnokd

+0

Cargando lo anterior en una compilación reciente de Opera debería hacer el truco. (9.x algo sería reciente.) – Anne

1

estos son fácilmente factible con JavaScript, <audio> y <video> (y <canvas>!) No lo son.

Confiar en las bibliotecas de JavaScript no es algo malo. Si el navegador hiciera todo, cada página web se vería igual.

+1

Al igual que el audio, el video y el lienzo que se puede hacer con flash y amigos. – akarnokd

+2

el objetivo no es depender de los complementos, como 'flash y amigos' – Javier

+0

El único inconveniente de las dos etiquetas multimedia es que requieren contenido de libre acceso (imagine contenido de youtube descargable directo, ¡horrible!) O complementos de códec personalizados. Mi objetivo sería no confiar tanto en javascript. – akarnokd

3

El estado de los controles de formulario y entrada en los navegadores es un gran desastre en general.

  • No hay consistencia en la implementación. Algunos usan controles nativos del sistema operativo (Safari), algunos utilizan controles personalizados (Opera) y algunos usan una combinación de ambos (IE)
  • Por lo anterior, el diseño de un estilo no es confiable
  • Nuevamente debido a arriba, sufrimos (ed) problemas con el índice z.
  • Incluso en los navegadores donde se puede aplicar el estilo, es inconsistente. ¿Alguna vez agregaste un borde CSS al input solo para ver cuadrados alrededor de tus botones de radio?

En general, tiendo a estar de acuerdo contigo. Hemos estado viviendo con los mismos controles de forma since HTML 3. Entonces nosotros, los desarrolladores web, nos queda crear controles más ricos y avanzados por nuestra cuenta. Y aunque estos pueden funcionar, dependen en gran medida de DHTML y pueden tener importantes implicaciones de usabilidad.

Sería bueno ver avances en esta área.

Cuestiones relacionadas