我可以在表单元素上配置spellcheck属性使用的字典语言吗?

dan*_*Mad 14 html textarea input spelling lang

我需要将spellcheck属性添加到一些<textarea><input>元素.我的问题是:"英语的版本是否 spellcheck 符合可配置性?" 我在澳大利亚,我们使用英国英语.我的理解是拼写检查器默认配置为美式英语.

它与lang最初在html元素上设置的属性有什么关系吗?

dan*_*Mad 8

我相信我已经找到了这个问题的答案,并在此过程中接受了英语教育.

语言代码的W3C参考将表明英语版本不可配置.但是,我发现了更详细的W3C工作组注意事项,内容如下:

注2: lang和xml:lang属性的允许值在下面引用的资源中指出.语言标签使用主代码来指示语言,使用可选的子代码(用连字符分隔)来表示语言的变体.例如,英语用主要代码"en"表示; 英国英语和美国英语可以分别使用"en-GB"和"en-US"来区分.使用主要代码对于此技术很重要.子代码的使用是可选的,但在某些情况下可能会有所帮助.

以下是子代码的完整列表:ISO 3166-1 alpha-2.

这意味着以下任何一个值在技术上都是有效的; lang="en-AU",lang="en-GB"lang="en-US".

我运行了两个测试来确定spellcheck这些语言子代码的表现(参见代码段).我在Safari版本11.0.2,Chrome版本63.0.3239.132Firefox版本57.0.4上的macOS High Sierra版本10.13.2上运行了这些测试,结果好坏参半.

我测试的浏览器似乎由受到影响lang到各种元件由属性的声明.我测试了字典在系统级别打开和关闭.

我首先测试了Safari和Chrome,结果相同: 在此输入图像描述

然后我测试了Firefox并得到了这个结果: 在此输入图像描述

总而言之:"是"在使用lang属性时可以配置英语版本."不",spellcheck似乎不能配置您使用该lang属性声明的语言,而是配置为浏览器配置的英语版本.

我希望这个答案有助于其他人.

<!-- Test #1 -->
<textarea lang="en-AU" spellcheck="true"></textarea>
<textarea lang="en-GB" spellcheck="true"></textarea>
<textarea lang="en-US" spellcheck="true"></textarea>
<div contenteditable="true" lang="en-AU" spellcheck="true">insert spelling</div>
<div contenteditable="true" lang="en-GB" spellcheck="true">insert spelling</div>
<div contenteditable="true" lang="en-US" spellcheck="true">insert spelling</div>
Run Code Online (Sandbox Code Playgroud)

<!-- Test #2 -->
<!DOCTYPE html>
<html lang="en-AU">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<textarea spellcheck="true"></textarea>
	<div contenteditable="true" spellcheck="true">insert spelling</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)