Cómo convertir una extensión de Chrome a Safari

Las extensiones de un navegador web es un pequeño programa que permite ampliar la funcionalidad de nuestro navegador para mejorar nuestra experiencia cuando utilizamos la World Wide Web.

Aunque actualmente todas las extensiones de navegador se crean utilizando HTML, CSS y Javascript si es cierto que no hay una compatibilidad completa entre los navegadores y sus extensiones ya que cada navegador ofrece librerías internas distintas para sus extensiones.

Por suerte para nosotros Apple ha proporcionado herramientas para convertir extensiones de Google Chrome para hacerlas compatibles con Safari, el navegador de Apple.

Primeros pasos

En primer lugar esta conversión de extensiones de navegador sólo se puede realizar en equipos que estén ejecutando MacOS 10.15 Catalina o superior. Además debemos tener instalado en nuestro equipo Mac el entorno de desarrollo XCode en su versión 12 o superior. Podemos encontrar XCode en la MacAppStore.

Obteniendo el código de la extensión de Chrome

Una vez tengamos nuestro equipo con MacOS preparado debemos obtener el código fuente de la extensión que queramos convertir. Para obtener el código de una extensión debemos descargarla en formato zip. Podemos seguir las instrucciones de este artículo sobre cómo descargar extensiones de Chrome.

Preparando el proyecto para XCode

Una vez tengamos el fichero ZIP con el código de la extensión debemos descomprimirlo en una carpeta con ruta conocida ya que necesitaremos esa ruta para preparar el proyecto para XCode.

Una vez conocida la ruta debemos abrir la Terminal de Mac y ejecutar el siguiente comando de Terminal indicando la ruta a la carpeta descomprimida previamente:

xcrun safari-web-extension-converter ruta_a_la_carpeta_descomprimida_de_la_extensión

Tras introducir el comando y esperar unos segundos debemos pulsar la tecla ENTER para continuar el proceso.

Tras terminar el proceso se abrirá Xcode con el proyecto para compilar la extensión para Safari. Pulsando el botón de Run se procederá a su compilación.

Una vez compilado y ejecutado el sistema nos pedirá permisos para poder configurar Safari con la extensión.

Si no poseemos un perfil de desarrollador de Apple deberemos activar la opción de Permitir extensiones no firmadas del menú de Desarrollo de Safari para poder ejecutar la extensión sin problemas.

CenteredHead disponible en la Mac AppStore

Ya está disponible CenteredHead en la MacAppStore.

Utilidad para personas ciegas

El objetivo de esta herramienta es ayudar a las personas ciegas o que no puedan ver su posición con respecto a la pantalla para poder situar su cabeza en el centro de atención de la cámara de su equipo Mac. De esta forma una persona que no pueda ver su pantalla podrá saber si está situado en el centro de la pantalla que muestra su cámara.

Su funcionamiento es muy sencillo: abre la aplicación y usa las instrucciones habladas y el sonido para saber si tu cabeza está centrada delante de la cámara.

Una aplicación de Tyflos Accessible Software

Esta es la aplicación número 10 publicada en la AppStore y la primera que es únicamente para MacOS por ahora.

Como todas las aplicaciones publicadas por Tyflos Accessible Software incorpora todas las características de accesibilidad disponibles para MacOS. La aplicación es totalmente compatible con VoiceOver, Zoom, control por voz y todas las personalizaciones disponibles en MacOS para la accesibilidad.

Puedes visitar la página de Centered head en Tyflos Accessible Software.

AImaginator ya compilado para MacOS

El interés de muchas personas sin conocimientos de programación por probar Aimaginator me ha llevado a crear una versión ya compilada del proyecto para facilitar su uso y disfrute.

Las aplicaciones para MacOS que se distribuyen fuera de la MacAppstore son aplicaciones que aunque han sido revisadas por un proceso automatizado por Apple requieren que el usuario de MacOS acepte la ejecución de aplicaciones fuera de la MacAppstore. Esto implica que si quieres probar Aimaginator en tu Mac sin compilarlo tu mismo debes cambiar los ajustes de tu equipo para poder ejecutar aplicaciones fuera de la MacAppstore. 

Puedes descargar Aimaginator desde la página de releases del proyecto.

Entrevista para el grupo Mobile accessible games

Esta semana se ha publicado en el grupo The Mobile accessible games una entrevista que me hizo Aaron Spelker sobre mi actividad como desarrollador de videojuegos accesibles y hablar de Letteronic accesible.

Quién es Aaron Spelker

Aaron se presenta así mismo con estas palabras:

Mi amor por los videojuegos comenzó con la Atari 2600. Jugué a todas las videoconsolas hasta la Play station 4. También jugué a juegos de PC y dispositivos móviles.
Hace 3 años sufrí un accidente que me dejó ciego. Varios meses después de mi accidente quise retomar mi pasión por los videojuegos y comencé la búsqueda de videojuegos accesibles.
Encontré muchos juegos accesibles para iPhone pero no había ningún sitio donde se concentrase ese conocimiento así que comencé el grupo de Mobile accessible games.

Mi objetivo es presentar a la comunidad ciega una amplia variedad de géneros de videojuegos. Creo en el poder de los videojuegos para ayudar a la salud mental de las personas ciegas.

La entrevista

La entrevista realizada en inglés dura unos 35 minutos y en ella comento mi andadura cómo desarrollador ciego de videojuegos accesibles y algunas pinceladas personales de mi vida.

Podéis ver la entrevista en Youtube.

AImaginator, una contribución de Tyflos accessible software para usar Dall-E de forma más cómoda en MacOS

El uso de inteligencias artificiales para ayudar a personas con discapacidad es algo cada vez más común. Personalmente utilizo DALL-E para generar algunas imágenes que necesito utilizar en mi día a día.

Por este motivo y por evitar tener que utilizar el sitio web de OpenAI he creado el proyecto de AImaginator

AImaginator es una aplicación sencilla para MacOS que permite generar imágenes a partir de un texto que la describe.

Para utilizar AImaginator sólo necesitamos un ordenador Mac y una API key del servicio de OpenAI. El resto lo encontrarás en el repositorio de AImaginator en Github. En el repositorio también encontrarás el código fuente para mejorar la aplicación.

Trabajar de forma más accesible con VisualStudio Code usando lector de pantallas

El editor de código VisualStudio code o más conocido como VSCode incluye en sus últimas versiones la opción de activación del soporte de accesibilidad para usuarios de lectores de pantalla.

VSCode accesible en todas las plataformas

Aunque VSCode parece que proporciona accesibilidad en todas las plataformas no lo hace con la misma calidad o estabilidad.

Accesibilidad en Windows

Según la documentación oficial el soporte de accesibilidad para lectores de pantalla incluye a JAWS y NVDA aunque para este último se recomienda el uso de NVDA en modo foco en lugar del modo navegación.

Además también para NVDA existe una extensión de NVDA para VSCode para mejorar su comportamiento con este lector de pantallas.

En cualquier caso y con cualquier lector de pantallas se recomienda la navegación por salto por tabulación y el uso de las teclas para navegar entre paneles, pestañas y ventanas hijas.

Accesibilidad en MacOS

Al abrirse VSCode se detecta la presencia de VoiceOver y se abre un diálogo para activar la compatibilidad con lectores de pantalla.

La interfaz, aunque generada con tecnología web, resulta bastante accesible con el modo de navegación por grupos de las opciones de Internet de VoiceOver.

Quizás lo más problemático sean los mensajes emergentes para completar el código de forma automática o revisar el resultado en un simulador. Por suerte para los usuarios de VoiceOver todas estas opciones se pueden configurar.

En MacOS existe una opción para ver el estado de accesibilidad de VSCode. Pulsando el atajo de teclado Opcion+F1 accederemos a esta información.

Accesibilidad en Linux

Aunque el soporte para el lector de pantallas Orca está incluido para VSCode hay que mencionar que la estabilidad del lector de pantalla es aún menor cuando abrimos varias pestañas en VSCode.

El area de edición de código si resulta legible con Orca pero otros paneles como los mensajes de depuración o los paneles para acceder a ciertos elementos de configuración o de instalación de extensiones resultan totalmente inaccesibles para este lector de pantallas.

Accesibilidad en ChromeOS

Aunque VSCode dice soportar todas las plataformas el uso de esta aplicación utilizando ChromeVox, el lector de pantallas de ChromeOS, resulta totalmente improductivo ya que la experiencia es la de utilizar una página web con multitud de áreas dinámicas que carecen de encabezados o marcas semánticas.

Además el uso del teclado es conflictivo entre Chromevox y los propios atajos de VSCode.

Navegación en el completado de código

Para la función de completado de código automático aparece un mensaje emergente con una lista de opciones. Podemos navegar en esta lista de opciones utilizando los atajos de teclado Control+Flecha arriba y Control+Flecha abajo para seleccionar una de las posibles opciones.

En el caso de MacOS con VoiceOver es suficiente utilizar las flechas de arriba o abajo para moverse por la lista.

En cualquier caso es recomendable desactivar el completado automático de código y usarlo de forma manual con el atajo de teclado Control+Espacio.

Documentación oficial

El equipo de VSCode ha publicado información útil sobre las características de accesibilidad de este editor para diversos perfiles de accesibilidad. Puedes leer toda esta información en la página en inglés de accesibilidad de VSCode.