На ваш второй вопрос я нашел это в спецификации
Авторам рекомендуется также включать текущее значение и максимальное значение, встроенное в текст, внутри элемента, чтобы прогресс был доступен пользователям устаревших пользовательских агентов.
Может показаться, что наличие текста внутри тега прогресса похоже на наличие текста внутри тега canvas, и это просто для поддержки устаревшего браузера. Я предполагаю, что причина, по которой он скрыт по умолчанию, заключается в том, что люди подумали, что если браузер поддерживает тег прогресса, то текст внутри не должен отображаться.
Что касается вашего первого вопроса, я действительно сбит с толку. Я сделал fiddle здесь, где я скопировал все вычисленные атрибуты стиля из тега p
в тег progress
. Помимо изменения внешнего вида индикатора выполнения, он, похоже, ничего не делал со скрытым текстовым узлом, что заставляет меня думать, что браузер просто прямо игнорирует его и не является CSS по умолчанию.