A progress bar without a numeric value does not report that work is at zero. In native HTML, it represents an indeterminate state: the amount completed is not declared. The three document-conversion examples below use native progress elements with explicitly stated attributes. They are not observations of a live service. A bar drawn with unrelated custom code may have a different meaning.
Three different states
Hypothetical example: imagine three conversion panels showing different markup states. Panel A displays a progress bar with no value. Panel B declares value="0" and max="20". Panel C declares value="5" and max="20".
| Panel | Declared state | What it means | Percentage |
|---|---|---|---|
| A | No value | Amount unknown | Not calculable |
| B | 0 of 20 | No declared work completed | 0% |
| C | 5 of 20 | Five units completed | 25% |
The calculation for Panel C is 5 ÷ 20 × 100 = 25%. Panel A cannot be assigned 0%, because the interface has not supplied a completed amount. Panel B is explicitly zero, which is a different declaration.
What “20” does and does not tell you
In this example, 20 is the maximum amount of declared work, not a time value. It could represent files, stages, records, or another unit chosen by the application. It does not mean 20 seconds. Even when a numeric value is available, the bar alone does not establish a remaining duration or a constant processing speed. Therefore, five of twenty completed does not justify predicting fifteen seconds left.
How to read the screen accurately
First identify whether a value is actually declared. Next compare the value with its maximum, if both are provided. Report Panel A as “progress amount unknown,” Panel B as “zero of twenty,” and Panel C as “five of twenty, or 25%.” The native distinction is described in MDN’s progress element reference. These conclusions concern the declared control state, not every visual lookalike or any real Daman task.