This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

How to force spellcheck for all websites

  • 3 replies
  • 0 have this problem
  • 28 views
  • Last reply by cor-el

more options

I would like to force spellcheck for all websites, and override any HTML code from the websites. which may be disabling it. This should be done automatically and not by inspecting and manually altering the HTML. I consulted with ChatGPT and tried adding some code to my existing userChrome.css but it is having no effect, even after clearing cache and restarting Firefox. For instance, faxzero.com has a form with spellcheck disabled. I tinkered with the CSS and kept testing faxzero, but the spellcheck always remains disabled. How can I accomplish my goal?

Code: body[spellcheck="false"], input[type="text"][spellcheck="false"], input[type="email"][spellcheck="false"], input[type="password"][spellcheck="false"], input[type="search"][spellcheck="false"], input[type="url"][spellcheck="false"], textarea[spellcheck="false"], [contenteditable="true"][spellcheck="false"] {

   spellcheck: true !important;

}

I would like to force spellcheck for all websites, and override any HTML code from the websites. which may be disabling it. This should be done automatically and not by inspecting and manually altering the HTML. I consulted with ChatGPT and tried adding some code to my existing userChrome.css but it is having no effect, even after clearing cache and restarting Firefox. For instance, faxzero.com has a form with spellcheck disabled. I tinkered with the CSS and kept testing faxzero, but the spellcheck always remains disabled. How can I accomplish my goal? Code: body[spellcheck="false"], input[type="text"][spellcheck="false"], input[type="email"][spellcheck="false"], input[type="password"][spellcheck="false"], input[type="search"][spellcheck="false"], input[type="url"][spellcheck="false"], textarea[spellcheck="false"], [contenteditable="true"][spellcheck="false"] { spellcheck: true !important; }

Chosen solution

I posted this user script (for Tampermonkey or Violentmonkey) nine years ago:

https://greasyfork.org/en/scripts/11786-always-can-check-spelling

Read this answer in context 👍 1

All Replies (3)

more options

You can't change or disable an attribute via CSS, you need JavaScript to remove an attribute and you need to use userContent.css and not userChrome.css to style a webpage.

You need to use an extension like Tampermonkey to inject JavaScript in the webpage.

more options

Chosen Solution

I posted this user script (for Tampermonkey or Violentmonkey) nine years ago:

https://greasyfork.org/en/scripts/11786-always-can-check-spelling

more options

Note that you can use a simple JavaScript bookmarklet.

javascript:void(document.querySelectorAll('[spellcheck="false"]').forEach(s=>s.removeAttribute("spellcheck")))

If you need frame support:

javascript:(function(){function R(w){try{document.querySelectorAll('[spellcheck="false"]').forEach(s=>s.removeAttribute("spellcheck"))}catch(e){}}R(self);var i,x;for(i=0;x=frames[i];++i)R(x)})()