资讯专栏INFORMATION COLUMN

【译】怎么样构建HTML表单

hover_lew / 1175人阅读

摘要:当你构建表单时,可以试着听一下屏幕阅读器如何读取它,若听起来很奇怪,那就有必要改进你的表单结构了。该规则必须在表单头部以保证在用户找到必填元素之前,屏幕阅读器等无障碍设备能将其展示或读给用户。

系列文章说明

原文

在建立HTML表单时,最重要的一件事就是如何用正确的方式构建它。而之所以重要,原因有二:一是保证表单能被正确使用、二是这能保证你的表单是无障碍的(可以被能力不同的人使用)。而正因HTML表单的无障碍性很重要,故在本文中我们将了解如何使一个表单无障碍,这并不很难、只是有几个技巧需要你了解下。

表单的灵活性决定了它们是HTML中最复杂的结构。通过使用专门的表单元素和属性,我们可以建立任何形式的表单。也确实有过一些更丰富多彩的脚本技术如XForms(现已过时),但很不幸这些表单技术并未被各大浏览器广泛应用。因此,我们往往得依赖Javascript来处理表单;但在本文中,我们只会详细讨论如何使用表单元素,若你想知道如何构建自定义表单组件,可参阅[怎样创建定制表单组件]()。

整体结构 from元素

元素是用来正式定义表单的元素,其属性决定了表单会有什么行为。当你想要建立一个HTML表单时,就必须以该元素开头。很多无障碍技术或浏览器插件能够检测到元素,同时他们也实现了特殊的方式来让表单更易于使用。

注:严禁把一个form元素嵌套在另一个里边。那样会导致不可预知的行为,具体取决于用户使用了何种浏览器。

元素支持下列属性,它们全是可选的:

元素的属性

属性名 默认值 描述
accept-charset UNKNOWN 一个空格分隔或逗号分隔的列表(HTML5中,只有空格可作为分隔符。),这个列表包括了服务器支持的字符编码。浏览器以这些编码被列举的顺序使用它们。默认值是一个保留字符串“UNKNOWN”。这个字符串指的是和包含这个form元素的文档使用相同的编码。
action 处理这个表单所提交信息的程序所在的URL。
autocomplete on 指示表单组件是否能够拥有被浏览器自动补全的默认值。该属性共有两个可选值:onoff
enctype application/x-www-form-urlencoded 当 method 属性值为 post 时, enctype 是提交form给服务器的内容的 MIME 类型 。可能的取值有:application/x-www-form-urlencoded (默认值)、multipart/form-data (用于一个 type 属性设置为 "file" 的元素)、text/plain (HTML5)。
method get 浏览器使用这种 HTTP 方式来提交 form。可能的值有:post、get。
name 这个form的名字。一个文档中的多个form当中,name必须唯一而不仅仅是一个空字符串。作为替代,最好使用id
novalidate (false) 这个布尔类型的属性指示了,当提交时form是否没有被验证。
target _self 用一个关键字指示在何处展示提交表单后收到的响应,展示的地方可以是