Un tag è un codice di formattazione che fa parte di un linguaggio del documento, noto anche come linguaggio di markup, utilizzato per annotare un testo in modo distinto dal testo e fornisce istruzioni su come visualizzare il testo. Esistono vari sistemi di markup che hanno un gran numero di tag univoci. I sistemi o linguaggi di markup includono TeX, Scribe, GML, SGML, HTML, XML e XHTML. HTML è l’acronimo di HyperText Markup Language ed è utilizzato nel World Wide Web per creare strutture per testo e documenti e per creare collegamenti ipertestuali tra documenti, mentre XHTML (HTML estensibile) combina HTML e XML. Il tag di input è un tag HTML e XHTML ed è supportato dai browser Microsoft® Internet Explorer®, Mozilla® Firefox®, Opera®, Google® Chrome® e Apple® Safari®.
Molti tag HTML e XHTML servono a formattare il testo che si trova sulla pagina, ma alcuni creano opportunità per l’interazione dell’utente e il tag di input è uno di questi ultimi: è un giocatore chiave nella creazione di moduli. Tuttavia, c’è un’importante differenza tra il modo in cui il tag di input viene utilizzato in HTML e il modo in cui viene utilizzato in XHTML. In HTML il tag viene utilizzato, con i puntini di sospensione sostituiti dal contenuto del tag e non ha tag di chiusura. In XHTML, il tag di input richiede una chiusura adeguata come questa .
Il tag di input deve includere l’attributo type per specificare il tipo di campo di controllo da utilizzare. Le possibilità sono: pulsante, casella di controllo, file, nascosto, immagine, password, radio, ripristino, invio e testo. Il tipo di pulsante di solito ha un’azione programmata con uno script lato client, come JavaScript®, mentre la casella di controllo e i pulsanti di opzione si attivano e disattivano quando si fa clic. Il tipo di file consente all’utente di caricare un file, mentre i valori nascosti non vengono visualizzati ma rimangono allegati alla voce del modulo. La password differisce dal testo in quanto spesso ha punti o asterischi per mascherare i caratteri che vengono immessi e invia, immagine – che è una sorta di pulsante di invio – e reimposta sono trattamenti globali dei dati del modulo.