viernes, 30 de diciembre de 2011

Acceder a las propiedades de una columna de un modelo de Entity Framework con Visual Studio 2010 si sólo usas teclado

¿Qué pasa si eres ciego y quieres o necesitas utilizar un ordenador?

La mayoría de los usarios de informática no pensamos en lo que seríamos capaces de hacer si nos quitaran la pantalla. Y cuando nos quitan la pantalla, automáticamente podemos asumir que nos han quitado el ratón, porque no vemos el puntero.

Pues las personas ciegas se encuentran en esa situación, y para poder utilizar un ordenador recurren a lo que se denominan ayudas técnicas. En concreto, las ayudas técnicas para que los usuarios ciegos puedan utilizar el ordenador son los lectores de pantalla. El usuario se mueve por los distintos elementos de la pantalla (ventanas, botones, textos, listas, enlaces...) utilizando el teclado, y el lector de pantalla se encarga de ir "cantando" qué es cada elemento y el texto, que acción produce, etc.

Hay varios lectores de pantalla, pero en España la gran mayoría de los usuarios de Windows utilizan  JAWS, de la empresa Freedom Scientific. Otro lector de pantalla utilizado es un proyecto open source, NVDA. Normalmente, al menos en el entorno de mis compañeros de trabajo, se utiliza JAWS, y cuando se tienen dificultades para acceder a algún elemento utilizando este lector, se cambia a NVDA y se intenta realizar la tarea, pero no siempre se consigue. Además, el cambio de un lector a otro es como poco bastante molesto, porque mientras se cambia de lector no se dispone de soporte de voz.

Uno de mis compañeros trabaja habitualmente con Visual Studio 2010, y a veces se encuentra con elementos del IDE a los que no se llega fácilmente con teclado y JAWS. Cuando pasa esto, para evitar el cambio a NVDA,  intentamos buscar una forma alternativa para que llegue desde teclado a lo que nosotros hacemos con ratón de forma intuitiva.

En este caso, el problema es para acceder a las propiedades de una propiedad en una entidad de un modelo de Entity Framework. Los que usamos la pantalla y el ratón, lo haríamos simplemente abriendo el modelo de entidades en el diseñador, y haríamos clic en la propiedad que deseamos modificar. Al hacerlo, automáticamente se nos mostraría en la ventana de propiedades, si la tenemos visible. Si no la tenemos visible (la hemos cerrado o está configurada como auto-ocultar, o está organizada con otras ventans de forma que no se muestra automáticamente), con pulsar F4 se mostraría. También lo podríamos hacer con un clic del botón derecho del ratón, y desde el menú contextual podríamos acceder a ellas.

Si se abre el modelo de entidades y se intenta navegar con él con tab y teclado no se puede llegar directamente a las propiedades de una entidad, porque al usar las teclas, lo que pasa es que se mueven las entidades en el diseñador, pero no se llega a las propiedades.

Para poder acceder al modelo de entidades sin necesidad de usar el diseñador, se debe utilizar el "Entity Data Model Browser". Para abrirlo, se hace a través del menú principal de Visual Studio: View -> Other windows -> Entity Data Model Browser. En esta ventana se puede navegar por un árbol que contiene todas las entidades y sus propiedades, así como el esquema de la base de datos y las propiedades de las tablas y columnas. Si se quiere acceder directamente a la entidad desde el diseñador, una vez que tenemos seleccionada la entidad, se saca el menú contextual, y desde ahí se puede acceder al Model Browser, ya posicionados en la entidad.