Почему HTML TextArea имеет собственный HTML-тег? [закрыто]

14
<input id='input1' type='text'></input>
<input id='input2' type='button'></input>
<input id='input3' type='checkbox'><input>
<textarea id='myTextArea'></textarea>

В разметке HTML большинство мест, где пользователь может взаимодействовать со страницей, обозначаются <input>тегом. Почему у textarea есть свой тег, <textarea>а не так, скажем,<input type='textarea'>

Печенье из рисовой муки
источник
2
Здесь много хороших ответов: stackoverflow.com/questions/5637326/…
grahamparks
Это должно быть вновь открыто.
Петр Доброгост

Ответы:

11

Потому что <textarea>имеет rowsи colsхарактерные для него атрибуты. Если бы это был тип <input>, эти атрибуты должны были бы быть частью <input>тега, даже если они не предназначены для других типов.

Майкл Боргвардт
источник
13
Странно, однако, <input type="checkbox">и <input type="radio">имеют checkedатрибут, не используемый ни одним другим типом ввода. Кроме того , <input type="image">акции атрибутов с <img>тегом. Дополнительно <input type="button">делится функциональностью с <button>тегом.
Greyfade
14
@greyfade: Пусть тот, чей инкрементный дизайн полностью согласован, бросит первый камень ...
Майкл Боргвардт,
2
@MichaelBorgwardt где я могу купить эту футболку? :)
Адриан Дж. Морено
23

Хорошо, ответ @ maple_shaft вызвал у меня любопытство, так что примерно через 20 минут поиска в Google ...

От одного из исходных HTML - проектов :

ПРИМЕЧАНИЕ. В первоначальном проекте для форм многострочные текстовые поля поддерживались элементом Input с TYPE = TEXT. К сожалению, это вызывает проблемы для полей с длинными текстовыми значениями. По умолчанию SGML (набор эталонных количеств) ограничивает длину литералов атрибута только 240 символами. Декларация 2,0 SGML HTML увеличивает предел до 1024 символов.

Так что нет, это не имеет ничего общего с текстовой областью rowsи colsявляется уникальным, как это принято в ответах.

Izkata
источник
Принятый в настоящее время ответа явно не правильно. На вопрос stackoverflow, связанный с комментарием grahamparks, также есть точные ответы ( stackoverflow.com/questions/5637326/… ).
Квентин Старин
@Izkata Спасибо за поиск и публикацию этого! Большинство людей не заботились бы достаточно, чтобы возродить старый вопрос с новой информацией.
maple_shaft
@maple_shaft Я часто задавался вопросом об одном и том же, но на самом деле не знал, с чего начать поиск. Получил идею из вашего ответа (плюс этот не такой уж старый, я опубликовал новый материал для SciFi.SE для Star Trek через год или больше (^ _ ~))
Izkata
7

Чтобы понять, почему textareaэто уникальный тег по сравнению с другими полями ввода, вам нужно было бы оказаться в исходных цепочках сообщений между Конолли и Бернерс-Ли в годы, предшествовавшие выпуску стандарта HTML 2.0, который вышел в 1995 году. Почему это не стандартный inputтег, как все остальное, возможно, было связано с технической сложностью в то время или каким-то общим компромиссом, о котором они договорились.

Исходную спецификацию HTML 2.0 для форм HTML см. Здесь: http://tools.ietf.org/html/rfc1866#section-8.

В какой-то момент кто-то нашел оригинальные доски объявлений AOL и опубликовал их, где они обсуждали различные прототипы, которые привели к HTML, как мы его знаем сегодня. Это было очень интересно, но я больше не могу его найти.

maple_shaft
источник
Надеюсь, кто-нибудь найдет это.
CaffGeek
@Chad - я не нашел сообщения, но вижу только что отправленный ответ
Izkata