11

La duda me vino al ver un formulario como este:

<form method="post">
    <input type="text" name="name"   placeholder="Your name*">
    <input type="text" name="number" placeholder="Your phone number*">
    <button type="submit" value="Submit">Submit</button>
</form>

¿Dar a un input el nombre name, o number podría ser problemático en algún escenario?

Al verlo pensé que podrían ser palabras reservadas, pero estuve buscando una lista de palabras reservadas en HTML y no encontré nada.

A. Cedano
  • 86,578
  • 19
  • 122
  • 221
  • 3
    Buena pregunta, hasta donde yo se no existen palabras reservadas en HTML ya que es por etiquetas todo lo que encuentre dentro de <> es una etiqueta digamos que valida, aunque no exista una instrucción para una etiqueta como no va a hacer nada, creo yo que por eso no debería de existir ningún problema con lo que comentas. – M. Gress Jul 27 '17 at 16:32

3 Answers3

5

Respuesta corta

En el caso de los valores, no hay palabras reservadas por HTML pero podría haberlas por otros elementos que se utilizan junto con HTML. Así mismo, considerando que cada "engine" interpreta el HTML de una forma particular, se me viene a la mente Internet Explorer, podría tener restricciones no estándares.

Explicación

En "HTML puro" no hay palabras reservadas pues no hay etiquetas ni atributos personalizados pero al usar XML si es posible tener etiquetas y atributos personalizados. Es en este caso, y en el de uso de otras "tecnologías" en el que podría haber palabras reservadas, como el uso de DOM, APIs como la de Geolocalización, librerías y frameworks como jQuery, etc.

El caso que motivó la pregunta, debe notarse que los valores de los atributos están entre comillas, pero el uso de las comillas no es obligatorio. Cabe hacer notar que los atributos tienen especificado un tipo de dato y cada tipo tiene reglas sobre los valores válidos. Los detalles sobre los tipos de datos en HTML versión 4 en https://www.w3.org/TR/html4/types.html.

En el caso específico del atributo name del elemento input el tipo de dato es CDATA el cual no incluye palabras clave.

Otra cosa son las pautas que se establecen en guías de estilo. Si bien cada programador tiene libre albedrío, cuando se piensa en llevar a cabo la labor de desarrollo web de forma profesional es muy útil adoptar una guía de estilo. Una de las premisas es que el código sea claro y ello implica, siempre que sea posible evitar el uso de nombres de etiquetas, atributos, métodos, etc. como nombres de valores, o bien el aplicar algunas convenciones como el uso de mayúsculas y minúsculas con cierto patrón que no es usual cuando se escribe en lenguaje natural como usar sólo minúsculas o ciertas combinaciones como el "camel case".

Cabe destacar que en el caso de HTML5 si hay etiquetas personalizadas para el manejo de datos. Llevan el prefijo data-.

Referencias

Relacionado

Rubén
  • 10,857
  • 6
  • 35
  • 79
2

En html no hay problema con "palabras reservadas", al definir valores de propiedades, por lo que como en este caso es lo mismo:

<input type="text" name="name"   placeholder="Your name*">

que

<input type="text" name="nombre"   placeholder="Your name*">

pero por buena practica se sugiere no nombrar los valores de las propiedades como los atributos.


me vino a la mente esta pregunta, en este caso el valor influye ya que la propiedad bgcolor define un color:

¿Por qué HTML acepta como color una cadena arbitraria?

Jorgesys
  • 103,630
  • 13
  • 52
  • 124
  • +1 Muy curiosa e interesante la pregunta del enlace. Quizá sea iluminador que comentases los posibles efectos que pudiera tener el uso de etiquetas como `name` al recuperar su valor, por ejemplo en PHP mediante `$_POST["name"]`... o en JS, jQuery, etc. – A. Cedano Jul 27 '17 at 17:03
1

No hay palabras reservadas en HTML, de cualquier forma no es recomendable crear una clase con el nombre "clase". La idea es que cuando tengas que depurar tu codigo sea intuitivo y entendible para ti. Te sugiero que en vez de poner name coloques id_name asi sera mas facil.

Shaz
  • 28,742
  • 18
  • 37
  • 61
  • No se está preguntando si es recomendable o cuál sería la mejor práctica. Podrías enfocar la respuesta en demostrar con fuentes (o código) lo que afirmas (que no hay palabras reservadas). Por cierto, escribir `id_name` me parece una pésima idea, puede confundir más. – Shaz Jul 27 '17 at 16:46
  • @Shaz mi respuesta es que no hay palabras reservadas en HTML, luego hago una sugerencia que dentro mi punto de vista es recomendable o una buena practica. Dentro mi entendimiento esta comunidad crecera mas si no nos dedicaramos a ver la paja en el ojo del otro. – Marcelo Alarcon Jul 27 '17 at 17:04
  • La idea no es ver la paja en el otro ajeno, es preocuparse por ofrecer contenido de calidad a quien formula la pregunta y a los visitantes futuros. Te invito a revisar las otras dos respuestas. – Shaz Jul 27 '17 at 17:23