MielmaDev
Desarrolladores

Documentación y buenas prácticas

Recopilación de recursos, guías y buenas prácticas para desarrollo web. Haz clic en cada sección para expandir su contenido.

HTML

CSS

@layer: organización de archivos CSS

¿Qué es @layer?

@layer es una regla de CSS que permite definir prioridades entre archivos o bloques de estilos de forma explícita y organizada.

¿Para qué sirve?

  • Controlar qué estilo gana: Tú decides qué capa tiene más peso, sin depender del orden de carga ni de la especificidad del selector.
  • Eliminar !important: Evita tener que usar esa regla "tramposa" para sobrescribir estilos.
  • Prevenir conflictos: Funciona como un "seguro" para que, si el proyecto crece o entran más personas, los estilos no se rompan accidentalmente.

¿Lo necesitas?

Si tu método actual (orden de carga + selectores específicos) te funciona y no tienes conflictos, no es obligatorio. Es una herramienta útil para escalar, pero no cambia la funcionalidad visual de tu web.

En resumen: Es un organizador de prioridades para CSS a prueba de errores. 🛡️

Ejemplo básico de uso

@layer reset, base, componentes, utilidades;

@layer reset {
  * {
    margin: 0;
    padding: 0;
  }
}

@layer base {
  body {
    font-family: system-ui;
  }
}

@layer componentes {
  .boton {
    background: gold;
  }
}

@layer utilidades {
  .oculto {
    display: none;
  }
}

En este ejemplo, si hay conflicto entre estilos, ganará el que esté en la capa declarada más a la derecha en la lista inicial (utilidades > componentes > base > reset).

Recursos y documentación oficial

Accesibilidad

Roles ARIA: mejora la accesibilidad

¿Qué es ARIA?

ARIA (Accessible Rich Internet Applications) es un conjunto de atributos que mejoran la accesibilidad web, permitiendo que tecnologías de asistencia (como lectores de pantalla) comprendan mejor la función y estructura de los elementos HTML.

¿Por qué usar roles ARIA?

  • Mejora la accesibilidad para personas con discapacidad.
  • Facilita la navegación y comprensión de la estructura de la web por tecnologías de asistencia.
  • Refuerza la semántica y compatibilidad en navegadores y lectores de pantalla antiguos.

Roles ARIA más utilizados

Etiqueta HTML Ejemplo Rol ARIA ¿Cuándo usar role?
<header> <header role="banner">...</header> banner No es necesario, salvo casos especiales (varios headers).
<nav> <nav role="navigation">...</nav> navigation No es necesario, salvo casos especiales.
<main> <main role="main">...</main> main No es necesario, salvo compatibilidad o varios main.
<footer> <footer role="contentinfo">...</footer> contentinfo No es necesario, salvo varios footers.
<section> <section role="region">...</section> region No es necesario, salvo que la sección no tenga título.
<article> <article role="article">...</article> article No es necesario.
<aside> <aside role="complementary">...</aside> complementary No es necesario.
<form> <form role="form">...</form> form No es necesario.
<div> <div role="dialog">...</div> dialog Sí, siempre que sea un diálogo/modal.
<form> <form role="search">...</form> search Sí, para zonas de búsqueda.

Nota: Los roles implícitos ya están presentes en la etiqueta HTML y no es necesario añadir el atributo role, salvo casos especiales.

¿Cómo usar los roles ARIA?

  • Puedes añadir el atributo role a las etiquetas semánticas de HTML5 para reforzar la accesibilidad.
  • No hay problema en usar roles ARIA junto con etiquetas como <header>, <nav>, <main>, <footer>, <section>, <article>.
  • Ver ejemplos en la tabla de roles ARIA más utilizados arriba.

Recursos y documentación oficial

Herramientas y entorno

Node.js, nvm y Chocolatey en Windows

Node.js, nvm y Chocolatey en Windows

Pasos y comandos esenciales para instalar, actualizar y gestionar Node.js y sus herramientas en Windows.

1. Instalar Chocolatey (opcional, recomendado)

  • Abre PowerShell como administrador y ejecuta:
    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
  • Ver versión instalada: choco --version
  • Ver si hay actualización: choco upgrade chocolatey --noop
  • Actualizar Chocolatey (como administrador): choco upgrade chocolatey

2. Instalar nvm (Node Version Manager)

3. Instalar y gestionar Node.js con nvm

  • Ver versiones disponibles: nvm list available
  • Instalar una versión específica (ejemplo, última LTS): nvm install 20.11.1
  • Ver versiones instaladas: nvm list
  • Cambiar la versión activa: nvm use 20.11.1
  • Ver la versión de Node.js en uso: node --version

4. Actualizar Node.js

  • Instala la nueva versión: nvm install <versión>
  • Activa: nvm use <versión>

5. Instalación directa de Node.js (sin nvm)

  • Descarga el instalador desde: nodejs.org
  • Ejecuta el instalador y sigue los pasos.

Consejos

  • Usar nvm es lo más flexible para desarrolladores.
  • Chocolatey facilita la gestión y actualización de muchos programas.
  • Ejecuta la terminal como administrador para evitar problemas de permisos.

Esta sección irá creciendo con más recursos y documentación útil para desarrolladores.