Desativar verificação ortográfica em campos de texto HTML

286

Posso, de alguma maneira, desativar a verificação ortográfica nos campos de texto HTML (como visto, por exemplo, no Safari)?

Michiel de Mare
fonte

Respostas:

420

Atualização : conforme sugerido por um comentarista (crédito adicional para Como posso desabilitar o corretor ortográfico nas entradas de texto no iPhone ), use isso para lidar com todos os navegadores de mesa e móveis.

<tag autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>

Resposta original: O Javascript não pode substituir as configurações do usuário; portanto, a menos que você use outro mecanismo que não seja campos de texto, isso não é (ou não deveria ser) possível.

Eric Wendelin
fonte
4
por que isso foi aceito? não faz sentido porque pode substituir as configurações do usuário se o navegador permitir. veja a resposta do ms2ger.
usr
1
Só porque era a melhor resposta na época. Acho que Michiel não voltou e marcou o outro como correto. Isso seria bom para mim, pois é uma resposta melhor.
Eric Wendelin
2
Importante para a compatibilidade do navegador nota - Mobile Safari (iOS) não honrar a tag por exemplo - wufoo.com/html5/attributes/17-spellcheck.html
radicando
3
O stackoverflow.com/questions/3416867/… tem a resposta correta para isso ( autocorrect="off") para o Mobile Safari - spellcheck=não funciona #
1911 Chris S
1
deve ser autoComplete = "off" autoCorrect = "off" autoCapitalize = "off" spellCheck = "false"
zaman
208

Sim, use spellcheck="false", conforme definido pelo HTML5 , por exemplo:

<textarea spellcheck="false">
    ...
</textarea>
Ms2ger
fonte
1
O MDN possui uma tabela que mostra o valor padrão da verificação ortográfica para diferentes navegadores e elementos: developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/…
Paul
2
Estou recebendo um erro "Verificação ortográfica desconhecida da propriedade DOM. Você quis dizer spellCheck?" Usar spellCheckparece satisfazê-lo. Poderia ser apenas uma coisa de reação.
Shanimal 8/17
3
@ Shanimal Sim, o react usa camel-case para atributos DOM. Veja reactjs.org/docs/introducing-jsx.html
sookie
13

Para Grammarly você pode usar:

<textarea data-gramm="false" />
sensor
fonte
7

Um IFrame "acionará" o verificador ortográfico (se tiver o conteúdo editável definido como verdadeiro) apenas como um campo de texto, pelo menos no Chrome.

JCOC611
fonte
1
+1 para o truque "conteúdo editável definido como verdadeiro", que é o verdadeiro truque
AT
4

O seguinte trecho de código o desativa para todos textareae input[type=text]elementos:

(function () {
    function disableSpellCheck() {
        let selector = 'input[type=text], textarea';
        let textFields = document.querySelectorAll(selector);

        textFields.forEach(
            function (field, _currentIndex, _listObj) {
                field.spellcheck = false;
            }
        );
    }

    disableSpellCheck();
})();
Artur Beljajev
fonte