How to force spellcheck for all websites
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 👍 1All Replies (3)
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.
Chosen Solution
I posted this user script (for Tampermonkey or Violentmonkey) nine years ago:
https://greasyfork.org/en/scripts/11786-always-can-check-spelling
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)})()