El Atributo SPELLCHECK

Permite controlar si el navegador debe revisar la ortografía y gramática del texto ingresado por el usuario en elementos editables.

El atributo spellcheck en HTML permite controlar si el navegador debe revisar la ortografía y gramática del texto ingresado por el usuario en elementos editables. Este tutorial explica cómo usarlo, sus casos de aplicación y limitaciones.


1. Introducción al atributo spellcheck

  • Propósito:
    Activar o desactivar la revisión ortográfica integrada del navegador en campos de texto o elementos editables.

  • Elementos compatibles:

    • <input> (tipos: text, email, search, tel, url, password).

    • <textarea>.

    • Elementos con contenteditable="true".

  • Valores admitidos:

    • "true": Habilita la revisión.

    • "false": Deshabilita la revisión.

    • Si se omite, el navegador usa su configuración predeterminada.


2. Sintaxis básica

html
Copy
<!-- Ejemplo en un input -->
<input type="text" spellcheck="true">

<!-- Ejemplo en un textarea -->
<textarea spellcheck="false">Texto sin revisión...</textarea>

<!-- Ejemplo en un div editable -->
<div contenteditable="true" spellcheck="true">Edita este texto...</div>

3. Ejemplos prácticos

Ejemplo 1: Habilitar revisión en un formulario

html
Copy
<form>
  <label>Comentario:</label>
  <textarea spellcheck="true" placeholder="Escribe aquí..."></textarea>
  <button type="submit">Enviar</button>
</form>

Resultado:
El navegador subrayará las palabras mal escritas en el área de texto.

Ejemplo 2: Deshabilitar revisión en un campo de código

html
Copy
<label>Código:</label>
<textarea spellcheck="false" class="code-snippet">
  function ejemplo() {
    console.log("Hola, mundo!");
  }
</textarea>

Resultado:
No se mostrarán subrayados rojos por palabras como function o console.

Ejemplo 3: Elemento editable con revisión

html
Copy
<div 
  contenteditable="true" 
  spellcheck="true" 
  style="border: 1px solid #ccc; padding: 10px;"
>
  Edita este texto... ¡El navegador revisará tu ortografía!
</div>

4. Consideraciones clave

  • Compatibilidad:

    • Funciona en Chrome, Firefox, Edge y Safari (versiones modernas).

    • Algunos navegadores móviles pueden ignorar el atributo.

  • Limitaciones:

    • No es 100% confiable: El usuario puede desactivar la revisión en su navegador.

    • Idioma dependiente: Usa el diccionario del idioma configurado en el navegador.

    • No personalizable: No se puede modificar el estilo de los subrayados (depende del navegador).


5. Mejores prácticas

  1. Habilita spellcheck en:

    • Campos de comentarios, descripciones o publicaciones.

    • Formularios donde la precisión del texto es crítica (ej.: correos electrónicos).

  2. Deshabilita spellcheck en:

    • Campos de código, nombres de usuario, emails o URLs.

    • Contenido en idiomas no soportados por el navegador.

  3. Combina con validación del servidor:
    No confíes solo en spellcheck para evitar errores.


6. Usar spellcheck con JavaScript

Puedes cambiar el estado dinámicamente:

html
Copy
<textarea id="miTexto">Texto inicial...</textarea>
<button onclick="toggleSpellcheck()">Alternar revisión</button>

<script>
  function toggleSpellcheck() {
    const textarea = document.getElementById("miTexto");
    textarea.spellcheck = !textarea.spellcheck;
  }
</script>

7. Conclusión

El atributo spellcheck es útil para:

  • Mejorar la experiencia del usuario en formularios.

  • Reducir errores tipográficos en textos largos.

  • Personalizar campos según su propósito (ej.: código vs. comentarios).

Ejemplo final:

html
Copy
<form>
  <label>Correo electrónico:</label>
  <input type="email" spellcheck="false" placeholder="tú@ejemplo.com">
  
  <label>Reseña:</label>
  <textarea spellcheck="true" placeholder="Escribe tu opinión..."></textarea>
</form>

Recuerda:

  • Prueba en múltiples navegadores.

  • Usa spellcheck como complemento, no como única solución.

  • ¡Prioriza la accesibilidad y usabilidad en tus diseños! ????