<progress>:进度指示器元素
<progress> HTML 元素显示一个指示任务完成进度的指示器,通常显示为进度条。
¥The <progress> HTML element displays an indicator showing the completion progress of a task, typically displayed as a progress bar.
Try it
属性
¥Attributes
该元素包括 全局属性。
¥This element includes the global attributes.
max-
该属性描述了
progress元素指示的任务需要多少工作。max属性(如果存在)的值必须大于0并且是有效的浮点数。默认值为1。 value-
该属性指定任务已完成的程度。它必须是
0和max之间的有效浮点数,或者如果省略max,则必须是0和1之间的有效浮点数。如果没有value属性,进度条是不确定的;这表明一项活动正在进行中,但没有表明预计需要多长时间。
注意:与
<meter>元素不同,最小值始终为 0,并且<progress>元素不允许使用min属性。¥Note: Unlike the
<meter>element, the minimum value is always 0, and theminattribute is not allowed for the<progress>element.
注意:
:indeterminate伪类可用于匹配不确定的进度条。要在给进度条赋值后将其更改为不确定,你必须使用element.removeAttribute('value')删除 value 属性。¥Note: The
:indeterminatepseudo-class can be used to match against indeterminate progress bars. To change the progress bar to indeterminate after giving it a value you must remove the value attribute withelement.removeAttribute('value').
无障碍
标签
¥Labelling
在大多数情况下,你应该在使用 <progress> 时提供可访问的标签。虽然你可以像使用 role="progressbar" 的任何元素一样使用标准 ARIA 标签属性 aria-labelledby 或 aria-label,但在使用 <progress> 时,你也可以使用 <label> 元素。
¥In most cases you should provide an accessible label when using <progress>. While you can use the standard ARIA labelling attributes aria-labelledby or aria-label as you would for any element with role="progressbar", when using <progress> you can alternatively use the <label> element.
注意:放置在元素标签之间的文本不是可访问的标签,仅建议将其作为不支持此元素的旧浏览器的后备。
¥Note: Text placed between the element's tags is not an accessible label, it is only recommended as a fallback for old browsers that do not support this element.
示例
¥Examples
<label>
Uploading Document: <progress value="70" max="100">70 %</progress>
</label>
<!-- OR -->
<br />
<label for="progress-bar">Uploading Document</label>
<progress id="progress-bar" value="70" max="100">70 %</progress>
结果
¥Result
描述特定区域
¥Describing a particular region
如果 <progress> 元素描述页面某个部分的加载进度,请使用 aria-describedby 指向状态,并在正在更新的部分上设置 aria-busy="true",在完成加载时删除 aria-busy 属性。
¥If the <progress> element is describing the loading progress of a section of a page, use aria-describedby to point to the status, and set aria-busy="true" on the section that is being updated, removing the aria-busy attribute when it has finished loading.
示例
¥Examples
<div aria-busy="true" aria-describedby="progress-bar">
<!-- content is for this region is loading -->
</div>
<!-- ... -->
<progress id="progress-bar" aria-label="Content loading…"></progress>
结果
¥Result
示例
结果
技术总结
¥Technical summary
| 内容类别 | 流量内容, 措辞内容,可标记内容, 可触知的内容。 |
|---|---|
| 允许的内容 | 措辞内容,但其后代中不得有 <progress> 元素。 |
| 标签遗漏 | 无,开始和结束标记都是强制性的。 |
| 允许的父级 | 任何接受 措辞内容 的元素。 |
| 隐式 ARIA 角色 | progressbar |
| 允许的 ARIA 角色 | 不允许 role |
| DOM 接口 | HTMLProgressElement |
规范
| Specification |
|---|
| HTML Standard # the-progress-element |
浏览器兼容性
BCD tables only load in the browser