Paso 1 de 6
La estructura en HTML
Empieza por el HTML: una pantalla (<output>, que los lectores de pantalla anuncian al cambiar) y un botón por tecla. Cada botón lleva un atributo data- que JavaScript leerá después: data-numero para las cifras, data-operador para las operaciones y data-accion para el resto.
Los símbolos ÷, × y − no se leen bien en voz alta, así que esos botones llevan aria-label con su nombre. Los archivos de estilos y de JavaScript están vacíos de momento.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Calculadora</title>
<link rel="stylesheet" href="estilos.css">
</head>
<body>
<main class="calculadora">
<output class="pantalla" id="pantalla" aria-live="polite">0</output>
<div class="teclas">
<button data-accion="borrar" class="tecla tecla--gris">C</button>
<button data-accion="atras" class="tecla tecla--gris" aria-label="Borrar la última cifra">←</button>
<button data-operador="/" class="tecla tecla--op" aria-label="Dividir">÷</button>
<button data-operador="*" class="tecla tecla--op" aria-label="Multiplicar">×</button>
<button data-numero="7" class="tecla">7</button>
<button data-numero="8" class="tecla">8</button>
<button data-numero="9" class="tecla">9</button>
<button data-operador="-" class="tecla tecla--op" aria-label="Restar">−</button>
<button data-numero="4" class="tecla">4</button>
<button data-numero="5" class="tecla">5</button>
<button data-numero="6" class="tecla">6</button>
<button data-operador="+" class="tecla tecla--op" aria-label="Sumar">+</button>
<button data-numero="1" class="tecla">1</button>
<button data-numero="2" class="tecla">2</button>
<button data-numero="3" class="tecla">3</button>
<button data-accion="igual" class="tecla tecla--igual">=</button>
<button data-numero="0" class="tecla tecla--ancha">0</button>
<button data-numero="." class="tecla" aria-label="Coma decimal">,</button>
</div>
</main>
<script src="app.js"></script>
</body>
</html>
/* Los estilos llegan en el paso 2 */
// El JavaScript llega en el paso 3