[whatwg] Spellchecking mark III

Calogero Alex Baldacchino alex.baldacchino at email.it
Thu Jan 22 19:16:10 PST 2009

Kornel Lesiński ha scritto:
>> Probably. However, establishing that the "lang" attribute is the 
>> "first-choice" language to check (which wouldn't prevent the UA from 
>> providing other choices, or just ignoring such behaviour due to a 
>> user preference, or using other dictionaries too -- and that might be 
>> suggested in a note on usability, I guess), I mean, would allow a 
>> webapp to emulate those functionalities to some extent, just setting 
>> a different value for the lang attribute of a contenteditable box and 
>> some of its subregions through a script at the user whim (that is, 
>> let's do it through script until UAs provided a better solution, 
>> which could be hinted by scripting hacks based on the "lang" and 
>> "spellcheck" attributes working together at the same grane).
> I don't think that applications need ability to precisely control 
> spell-checking language. Browser knows best which dictionaries are 
> available, and can auto-detect language based on user's preferences, 
> page's language and text itself. You can expect that browsers will 
> have much more sophisticated and reliable language detection than web 
> apps (that's an area where browsers can freely compete).

Browsers can't do better than word processors, which are the state of 
the art in... word processing. At most, browsers can do as well, and, 
over some extent, word processors don't use heuristics while you're 
typing, because no heuristics can guess whether you're *purposedly* 
switching between dialects (such as British and American English), or if 
you just mispelled a word (personally, I dislike even the automatic 
correction of common mistakes in w.p.). Word processors make a choice 
when you start writing (or before, basing on your installation language, 
for instance), and let you change it for the whole document or for each 
single word. I don't think any heuristic auto-detection can be better; 
instead, no language detection (and users' explicit choice) is more 
reliable than any sophisticated heuristics.

Turning spelling checking on or off makes sense if one can guess how the 
user agent would behave AND if the user agent can recover misuses, thus 
I believe that "spellcheck" is strictly related to the way a 
spellcheking language is detected and is half of the problem of 
controlling spellcheking. Otherwise, if it's thought that everything 
should be under the control of a UA, let's state spellchecking must be 
always on and peace. Just because being annoyed by a wrong checking 
(e.g. because the heuristics fails, but it would be the same for a wrong 
lang value) is less harmful than thinking one's writing correct text 
because of being unaware that checking has been disabled by the author 
without asking one's permission. Yet, both "lang" and "spellcheck" 
attributes can be useful for the purpose of controlling spellchecking 
and improving a web-based word processor, and in both cases UAs can 
recover from misuses, somehow (e.g. allowing the user to bypass authors' 

Moreover, I think that interactive and script-aware UAs should act as a 
framework for web-based applications providing as much of a client-only 
application functionalities as possible, thus browsers should include 
new features when possible and reasonable (while trying not to became 
oversized). I agree that spellchecking is a good feature to support in a 
browser; I don't see why a web-based rich text editor should be 
prevented from controlling it on users' behalf, as it happens in word 
processors, givent it's about to support an existing attribute ("lang", 
which could be stated to be triggering UAs heuristics by default when 
unspecified for editable elements) and a new one ("spellcheck") in 
conjunction for this purpose (also a list of supported dictionaries 
would be useful).

I also think that features which are not "core" functionalities for a UA 
should be provided in a basic version (for general use in web pages) and 
as building blocks for web applications, not in a complete version under 
a UA exclusive control (for instance, a UA could allow the user to 
change the language for some selected text through a context menu 
option, but the right place for an option allowing a (starting) choice 
valid for a whole editable element, in a rich text editor, should be the 
editor interface, which shouldn't be provided by a UA, as a whole or in 
part, or, if the UA provides it, it should be exposed to any webapp to 
be customized and enhanced). That's because a specific application can 
focus on a specific task usability better than its underlying, "general 
purpose" framework (like a browser is or should be for a web application).

Furthermore, if you agree that a page's language should be used to 
improve auto-detection, why not to use an element language attribute 
too? With the benefit that it can be changed dynamically to please the user.

> Many of your suggestions are just implementation details, which HTML 
> shouldn't specify precisely (it could force browsers to use method 
> that is suboptimal). HTML just needs to offer reasonable way to 
> implement good heuristics, and I think existing lang, input types and 
> spellchecking attribute are sufficient.

Hmm, I thought I was discussing the opportunity to dynamically change a 
spellchecking language for an editable element basing on the element's 
dynamically changed lang attribute, and trying to explain why it's 
related to the problem solved by "spellchek" (I think that's the other 
half of the same problem) and why that's no more harmful, if misused, 
than a misused "spellcheck", and how UAs could maintain usability in 
case of wrong "spellcheck" and "lang" values (I didn't wanted to suggest 
implementation details as an "active" part of the specification, but at 
most as non-normative hints to point out possible usability issuses 
arising from this approach, and possible related solutions - 
non-normative hints shouldn't force suboptimal implementations, unless 
any non-heuristic approach is considered suboptimal, but I strongly 
disagree with such an assumption). Fault of my English.

Back to the point, as a user I don't like even thinking that "good 
heuristics" can make decisions on my behalf which I can't change. As a 
programmer, I think that any heuristics implementations should provide a 
mechanism to fall-back to users' explicit choices, and webapps should be 
allowed to handle such choices to enhance their usability.

WBR, Alex
 Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f
 Con Meetic trovi milioni di single, iscriviti adesso e inizia subito a fare nuove amicizie
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8290&d=23-1

More information about the whatwg mailing list