Hola Fernando.Entiendo el concepto de usabilidad, de hecho desde hace años me preocupo de que todos mis formularios tengan bien establecido el orden de tabulación, solo que esta vez me dejé llevar por mi histeria esteticista y se me pasó por alto. Además coincido en que es un tema bastante desconocido en el grupo, aunque me parece muy importante.Ahora... decime si te parece correcto o errado el siguiente razonamiento:Me pregunto ¿cuál de las dos cosas que se muestran en el punto A (de la imagen adjunta) es el control?. En otras palabras ¿el control es la caja que se usa para mostrar la tilde o el texto que está a su lado?
Creo que no me equivoco al entender que el control es la caja y que el texto a su lado es el valor de una propiedad del control. La pregunta inmediata entonces es ¿por qué el foco se marca sobre el valor de una de las propiedades del control y no sobre el control?
Si bien FoxPro no es el único lenguaje que muestra el foco en los checkbox de esta manera, considero que no es la correcta porque cuando la propiedad Caption no tiene valor se pierde la posibilidad de marcar el foco y esto no debería ser así ya que el control continua estando bien visible. Esto me ocurre en un formulario en donde necesité utilizar un chebox con la propiedad Caption vacía.Lo correcto sería marcar el foco como se muestra en el punto B de la imagen adjunta.
Esto me ocurre en un formulario en donde necesité utilizar un chebox con la propiedad Caption vacía.


Así es Fernando, es un tema interesante y es bueno saber que hay programadores que le prestan atención. Como para continuar de una manera práctica te respondo a tus respuestas."El control es todo junto, el indicador más su texto, no es solamente el indicador."Durante las horas que han pasado desde tu último post no he podido encontrarle la lógica a eso de que el control son las dos cosas. Me imagino que eso debe estar escrito por gente que sabe del tema pero todo lo que incorporo a mis conocimientos debe pasar por un razonamiento lógico y en este caso no puedo hacer que suceda, no por nada el nombre del control es "Checkbox" o "Caja/casilla de verificación" y no "CheckLabel" o algo por el estilo. Otra cosa que me impide entender a las dos cosas como una sola es que el caption puede desaparecer pero jamás la casilla.

3) Porque cuando hay muchos controles, una zona punteada mayor es más visible que una chiquita, la cuál es más difícil de ubicarEs cierto, la zona punteada que envolvería la casilla no sería fácil de ubicar pero igual o mas difícil es ubicar el foco cuando un Textbox lo recibe ya que el único indicador es una misera línea de un píxel de ancho que, aunque parpadea, a veces es difícil notar. Se ve que ahí la usabilidad está un poco floja y por eso es que muchos cambian el color de fondo o resaltan el borde para indicar el foco como indicaste anteriormente. Si el foco se marcaría sobre la casilla en lugar del caption también podría mejorarse con algo similar.
Aquí entramos en el apartado de normalización: Todos los controles que sigan las normas y estilos de Windows deben actuar de la misma forma y verse iguales.No sé si eso es una ley pero me parece bien respetarla en tanto y en cuanto resulte razonable y no por el solo hecho de que estamos bajo Windows. Por esta misma razón y aprovechando las posibilidades que me dé el lenguaje me tomo la libertad de hacer y deshacer mientras me parezca lógico/entendible/intuitivo.
Un checkbox jamás puede quedar sin caption. En todo caso podés hacerlo Disabled o Invisible, pero nunca sin caption, porque un checkbox sin caption no dice nada, no sirve de nada, ya que el usuario no puede elegir nada, excepto que lo uses en ese caso para indicar la selección de un item mayor o un item compuesto, en cuyo caso tenés alternativas, como estas:En la columna izquierda, los 4 son checkbox, 2 normales y 2 de estilo gráfico, donde el segundo de cada grupo está marcado.Hay más variantes, pero esto es para que veas que incluso en los casos especiales donde se puede no necesitar un caption, siempre se puede mostrar algún símbolo o algo útil.Obviamente que un checkbox solo y triste en medio de un form no sirve para nada si no está asociado a un texto o a algo mas, bueno, ese "algo mas" es para lo que se usa un checkbox sin caption. Si bien la mayoría de las veces está asociado a un texto (su caption) no significa que hay que cerrarse solo a eso, aquí van unos ejemplos:- En el ejemplo A de la imagen adjunta puede verse algo mucho mas usable que un texto: una imagen. No pienso dejar de usar una imagen (que sí dice algo, sirve de mucho (y mas que un caption) y el usuario estaría eligiendo concretamente algo) solo porque no se acostumbra en Windows.




Y para aquellos a los que les cueste distinguir la banana de la frutilla está el tooltiptext.
- En el ejemplo B puede verse un uso bastante frecuente del checkbox, por un lado en el header de un grid y por el otro en la columna. El 1ro., por una cuestión de espacios, no lleva caption, en todo caso un tooltiptex que lo explique y el 2do. si o si no lleva caption aunque tampoco necesita foco ya que al foco lo toma la celda (al menos en VFP).

- En el ejemplo C puede verse a lo que hacías referencia con "item compuesto" y que fue el caso en el que creí conveniente usar un checkbox sin caption.




En los 4 ejemplos que mostras en la imagen, el "Elegir" del checkbox no deja claro qué es lo que se debe elegir o seleccionar, no indica claramente si se trata de elegir solo el 1er. textbox, el 1ro. y el 2do. o ambos y además el botón, y el ">" me dice aún menos. Esto es porque no hay nada que asocie los controles del ítem compuesto. Para asociar controles que corresponden a una misma funcionalidad entiendo que deben "encerrarse" dentro de un shape al que se le puede agregar un título y eso fue lo que hice, pero como necesitaba deshabilitarlos/habilitarlos debía usar un checkbox, así que terminé haciéndolo de esa forma que me resulta lógica e intuitiva y creo que un caption mas bien contribuiría a la confusión.