QR Code Display & Scan UI
QR Code Display & Scan UI
8 reglasDimensiona el QR con la relación 1:10 respecto a la distancia de escaneo
El lado del código debe medir al menos 1/10 de la distancia máxima desde la que se espera escanear: por cada 10 cm de distancia, anade 1 cm al lado del QR. A distancia de brazo (~60 cm) el mínimo funcional es 2×2 cm; por debajo de ese tamaño la decodificación falla de forma consistente en la mayoría de móviles, incluso con buena luz. Para pantallas digitales el mínimo ronda 38×38 px, pero la regla física manda primero.
Nielsen Norman Group, "13 QR-Code Usability Guidelines" · TetraLogical (2022) · mínimo 2×2 cm a distancia de brazoRespeta la zona de silencio de 4 módulos y un contraste mínimo 4:1
La norma ISO/IEC 18004 exige una zona de silencio (quiet zone) de al menos 4 módulos en cada lado del simbolo: si un módulo mide 2 mm, el margen blanco debe ser ≥ 8 mm. Los módulos oscuros deben contrastar con el fondo a una razón de reflectancia mínima de 4:1, con negro sobre blanco como referencia canonica. Recortar el QR al límite del contenedor o usar gris sobre gris destruye la decodificación.
ISO/IEC 18004 · zona de silencio 4 módulos + reflectancia 4:1 (parámetros de gradación del estandar)Usa corrección de error nivel H cuando el QR lleva logo superpuesto
ISO/IEC 18004 define cuatro niveles de corrección de error: L (7%), M (15%), Q (25%) y H (30%). Un logo centrado ocupa tipicamente entre 7% y 15% del área del simbolo y destruye fisicamente esos módulos. Solo el nivel H deja margen para recuperar tanto el daño del logo como el deterioro extra por impresión o pantalla. Con nivel L o M y logo superpuesto, el código falla bajo condiciones reales.
ISO/IEC 18004 · niveles L 7% / M 15% / Q 25% / H 30%Ofrece siempre una alternativa al QR: URL visible o código manual
No todo usuario puede escanear: personas con discapacidad visual, dispositivos sin camara, entornos con poca luz y quienes simplemente no saben como hacerlo quedan excluidos si el QR es el único canal. Acompana cada código con una URL corta visible o un código alfanumerico que se pueda teclear a mano. NN/g recomienda asumir al menos 15 segundos para completar un escaneo; la alternativa textual es además requisito de Section 508 en medios digitales.
Nielsen Norman Group, "13 QR-Code Usability Guidelines" (guideline 10) · Section508.gov, "QR Codes"El QR no es accesible por si solo: alt text que describe el destino, no la imagen
Un código QR es contenido no-texto: sin descripción alternativa es invisible para lectores de pantalla (VoiceOver, TalkBack). El atributo alt debe describir el proposito del enlace, no la apariencia del código, y el QR nunca puede ser el único medio de acceso. Es requisito WCAG 2.1 AA (1.1.1 contenido no-texto, 2.4.4 proposito del enlace). Entre usuarios ciegos o de baja visión, VocalEyes hallo que el 60% (17% muy difícil + 43% difícil) considera difícil el uso independiente de QR.
Da una instrucción de escaneo y feedback inmediato al detectar el código
El escaner web (BarcodeDetector sobre un <video> capturado con getUserMedia) debe mostrar una guía de encuadre, recuadro o esquinas animadas, que ayude a alinear el código, y al detectarlo dar feedback instantaneo (esquinas en verde, sonido o vibración) antes de ejecutar la acción. Sin guía ni confirmación, el usuario repite el intento o abandona. Es visibilidad del estado del sistema (heuristica #1 de Nielsen).
Muestra la URL de destino antes de abrirla (defensa contra quishing)
El quishing (phishing por QR) es un vector en alza: los atacantes pegan stickers maliciosos sobre QR legitimos o envian QR por email que redirigen a robo de credenciales. La defensa más efectiva a nivel de interfaz es un paso intermedio que muestra la URL completa antes de abrir el navegador, permitiendo cancelar. Nunca abras la URL automáticamente al detectar el código.
Keepnet Labs: +587% de quishing en 2023, de 0.8% (2021) a 12.4% (2023) de los payloads de phishing (vendor report; consistente con Cofense)No muestres un QR en la misma pantalla desde la que se va a escanear
Un código QR mostrado en el móvil del propio usuario no puede ser escaneado por ese mismo dispositivo. El patrón aparece en flujos de "compartir mi perfil" o de autenticación mal pensados: resulta inútil y confunde. Si el destino es el mismo dispositivo, usa un enlace directo o deep link. El QR solo tiene sentido cross-device: móvil→TV, móvil→computadora, papel→móvil, o cuando el usuario lo muestra a un tercero (pase de abordar, validador de transporte, WhatsApp Web).
Nielsen Norman Group, "13 QR-Code Usability Guidelines" (guideline 5) · excepción: QR para mostrar a terceros / autenticación cross-device- R-815 Dimensiona el QR con la relación 1:10 respecto a la distancia de escaneo
- R-816 Respeta la zona de silencio de 4 módulos y un contraste mínimo 4:1
- R-817 Usa corrección de error nivel H cuando el QR lleva logo superpuesto
- R-818 Ofrece siempre una alternativa al QR: URL visible o código manual
- R-819 El QR no es accesible por si solo: alt text que describe el destino, no la imagen
- R-820 Da una instrucción de escaneo y feedback inmediato al detectar el código
- R-821 Muestra la URL de destino antes de abrirla (defensa contra quishing)
- R-822 No muestres un QR en la misma pantalla desde la que se va a escanear