Consider the following MWE:
<!DOCTYPE html>
<html>
<head>
<title>Progress test</title>
</head>
<body>
<progress id="progress"></progress>
<script>
progress.max = 10000000000;
progress.value = 10000000000 / 2;
</script>
</body>
</html>
This used to work in Internet Explorer, Mozilla Firefox, Google Chrome, and Opera. But today I realised that it no longer works in Google Chrome; apparently, the values 10000000000 and 10000000000 / 2 are too large.
This made me wonder what the official specifications have to say about this. Do they guarantee that numbers this large should work (in this case, there is a bug in Google Chrome), or are my numbers above the largest value that is guaranteed to work (in this case, I am simply lucky that it works in IE and FF)?
The HTML5 specification says about the progress element:
A floating-point number is defined by:
Later, it'said that the algorithm for parsing floating-point number values should choose a value from the set of IEEE 754 double-precision floating-point numbers.
According to the question:
biggest integer that can be stored in a double
the maximum value for IEEE 754 double precision is approximately 1.8 × 10^308. So your number
10000000000
is largely is small enough to be represented in IEEE 754 double precision and should be correctly interpreted by any valid HTML5 browser.