Цель элемента <form>
, IMO, является семантической, а не презентационной - элемент должен определить область с элементами, которые могут быть отправлены на сервер.
Почему же тогда браузер (и, я полагаю, в спецификации) задает display: block в таблице стилей пользовательского агента? Конечно, если вы хотите, чтобы форма была блоком, вы можете просто обернуть ее в элемент div?
Обычно я просто помещаю форму {display: inline} в свой css, чтобы переопределить это. Тем не менее, мне интересно, была ли хорошая причина для отображения <form>
в виде блока по умолчанию или если он был сохранен таким образом по причинам, связанным с наследием.