Description
The HTML element <progress>
is used to define the completion progress of a task.
It is used to indicate the percentage completion of a task, such as content loading or a process completion progress.
- It is typically displayed as a progress bar with values marked from 01 to 100%.
- It is used in conjunction with JavaScript to display and update the progress of a task, as the progress bar needs to be updated as the task progresses.
It should not be used to define a gauge, which can be defined using the <meter>
element.
The below table summarizes its usage.
Usage Details | |
Placement | It is displayed as an Inline element. |
Contents | It can contain Inline elements and text, but it cannot include <progress> element. |
Tags | Both the opening and closing tags are required. |
Versions | HTML 5 |
Syntax
Here is the basic syntax of the <progress>
element.
<progress>...</progress>
Examples
<!DOCTYPE html>
<html lang="en">
<head>
<title>Example - HTML Element progress</title>
</head>
<body>
<h2>Task Progress Bar</h2>
<p>Progress: <progress id="bar" value="0" max="100"><span>0</span>%</progress></p>
<script type="text/javascript">
var i = 0;
var progressBar = document.getElementById("bar");
function countNumbers(){
if(i < 100){
i = i + 1;
progressBar.value = i;
// For browsers that don't support progress tag
progressBar.getElementsByTagName("span")[0].textContent = i;
}
// Wait for sometime before running this script again
setTimeout("countNumbers()", 500);
}
countNumbers();
</script>
</body>
</html>
Attributes
The following table shows the list of supported and unsupported attributes for the <progress>
element.
Attribute Type | Details |
Element-Specific Attributes | The tag <progress> has some element-specific attributes listed in the below table. |
Global Attributes | Like all other HTML tags, the tag <progress> supports the HTML Global Attributes. |
Event Attributes | The tag <progress> also supports the HTML Event Attributes. |
Here is a list of attributes that are specific to the <progress>
element.
Attribute | Value | Required | Description |
value |
number | No | Specifies how much of the task has been completed. It must be a valid floating-point number between 0 and max, or between 0 and 1 if the max attribute is not present. |
max |
number | No | Specifies how much work the task requires in total. The default value is 1 if the attribute is not specified. |
Browser Compatibility
The tag <progress>
is supported in all modern browsers.
- Google Chrome 8+
- Internet Explorer or Edge 10+
- Firefox 16+
- Apple Safari 6+
- Opera 11+