Правила для каждого отдельного элемента различаются в HTML5.
Элемент <script>
имеет значение по умолчанию из type="text/javascript"
, определенное для элемента:
Атрибут type предоставляет язык сценария или формат данных. Если атрибут присутствует, его значение должно быть допустимым типом MIME. Параметр charset не должен быть указан. По умолчанию, который используется, если атрибут отсутствует, это «text / javascript».
Элемент <link>
просто использует атрибут как подсказку для браузера:
Для ссылок на внешние ресурсы атрибут type используется в качестве подсказки для пользовательских агентов, чтобы они могли избежать выборки ресурсов, которые они не поддерживают. Если атрибут присутствует, то пользовательский агент должен предполагать, что ресурс имеет заданный тип (даже если это недопустимый тип MIME, например пустая строка). Если атрибут опущен, но для типа ссылки на внешний ресурс задан тип по умолчанию, то пользовательский агент должен предположить, что ресурс относится к этому типу. Если UA не поддерживает данный тип MIME для данного отношения ссылки, тогда UA не должен получать ресурс; если агент UA поддерживает данный тип MIME для данного отношения ссылки, агент UA должен получить ресурс в соответствующее время, как указано для конкретного типа ссылки на внешний ресурс. Если атрибут опущен, а для типа ссылки на внешний ресурс не задан тип по умолчанию, но пользовательский агент получит ресурс, если тип известен и поддерживается, тогда пользовательский агент должен получить ресурс при условии, что он будет быть поддержанным.
Пользовательские агенты не должны считать атрибут типа доверенным - при получении ресурса пользовательские агенты не должны использовать атрибут типа для определения его фактического типа. Только фактический тип (как определено в следующем параграфе) используется для определения того, применять ли ресурс, а не вышеупомянутый предполагаемый тип.
Элемент <style>
похож на скрипт, со значением по умолчанию из type="text/css"
:
Атрибут type предоставляет язык стилей. Если атрибут присутствует, его значение должно быть допустимым типом MIME, который обозначает язык стилей. Параметр charset не должен быть указан. Значением по умолчанию для атрибута type, которое используется, если атрибут отсутствует, является «text / css».
Вы можете найти всю необходимую информацию в HTML5 спецификации .