# Touche de tabulation

La touche de tabulation (abrégé tab.) est une touche de clavier informatique située juste au-dessus de la touche Verrouiller Maj. Le mot « Tab » n'est pas toujours inscrit sur cette touche (Tab), parfois seules deux flèches à contre-sens sont représentées (↹ ) ou encore une seule flèche pointant vers la droite et accolée à une barre verticale. On trouve parfois deux notations juxtaposées (Tab ↹).
À l'origine cette touche permet de positionner un chiffre, un nombre, un mot ou un texte à l'emplacement du prochain taquet de tabulation, défini préalablement. D'une manière plus générale, cette touche permet de déplacer le curseur de saisie d'un champ à un autre.

## Symbole

Le symbole graphique Unicode U+21B9 de clavier peut être utilisé lorsque le lettrage latin habituel « Tab » n'a pas été choisi pour marquer la touche. Ce symbole est noté comme: leftwards arrow to bar over rightwards arrow to bar (↹).

## Histoire

Le mot « tabulation » dérive du verbe « tabuler », ce qui signifie : organiser les données sous forme de tableau ou de table. Quand une personne voulait taper une table (de nombres ou de texte) sur les premiers modèles de machine à écrire, elle devait utiliser de façon répétitive la barre d'espace et la touche retour arrière. Pour simplifier la composition de tables ou de tableaux, une barre horizontale ainsi qu'un système de butée du levier mobile, appelée « taquet de tabulation » a été ajouté pour toutes les positions de la page. Initialement, chaque taquet de tabulation était fixé à la main, mais des boutons de positionnement des taquets de tabulation ainsi qu'une touche de tabulation sont venus enrichir ce mécanisme appelé « tabuleur ». Lorsque la touche de tabulation est enfoncée, le chariot avance au prochain taquet de tabulation. Les taquets ont été préalablement fixés pour correspondre aux emplacements particuliers des colonnes de la table en cours d'élaboration.
Le dispositif de tabulation est aussi devenu une méthode cohérente, rapide et soignée d'uniformiser l'indentation commune à la première ligne de chaque paragraphe d'un même document. Un premier taquet de tabulation à cinq ou six caractères a souvent été utilisé, espacement plus grand que les anciennes indentations placées manuellement.

## Utilisation contemporaine

L'utilisation de la touche tabulation permet, dans un éditeur de texte ou un logiciel de traitement de texte, de faire avancer le curseur jusqu'à une position déterminée par un taquet de tabulation ou, à défaut, de créer une certaine quantité d'espaces vides. En appuyant simultanément sur la touche ⇧ Maj on obtient l'effet inverse, d'où les deux flèches de sens opposés généralement représentées sur la touche. Dans l'environnement graphique d'un système d'exploitation, son utilisation permet de déplacer le curseur d'un composant d'interface graphique à un autre (icône, bouton, champs d'édition, etc.). Dans un navigateur web, outre les composants d'interface graphique, la touche tabulation sert à passer d'un hyperlien à l'autre. Associée à la touche Alt, elle permet de basculer d'une fenêtre à l'autre dans certains environnements ; dans Windows Vista et Windows 7, associée à la touche Logo, ce basculement se fait en trois dimensions. Il en est de même dans Ubuntu.
Dans un interpréteur de commandes, elle permet de compléter automatiquement les premières lettres d'une commande ou d'un chemin d'accès.
Dans les jeux vidéo, cette touche sert souvent à afficher les objectifs à accomplir et/ou la carte du niveau. En mode multijoueur, elle permet souvent d'afficher des statistiques sur la partie en cours (composition des équipes, nombre de frags par joueur, etc.).
La touche de tabulation est également utilisée par les programmeurs. Elle permet de rendre les lignes de code plus facile à lire et à comprendre.

## Caractères de tabulation

Le caractère de tabulation le plus connu et le plus utilisé est le taquet horizontal (HT), qui a en ASCII le code de caractère décimal 9, et qui peut être obtenu par Ctrl + I ou ^I. En C et dans beaucoup d'autres langages de programmation la séquence d'échappement \t peut être utilisée pour utiliser ce caractère dans une chaîne de caractères. Le taquet horizontal est habituellement obtenu avec la touche de tabulation sur un clavier standard.
Il existe aussi le taquet vertical (VT) qui a en ASCII le code de caractère décimal 11 (Ctrl + K ou ^K), séquence d'échappement \v.
En EBCDIC le code décimal pour HT est 5 (différent de l'ASCII) et celui pour VT 11 (comme en ASCII).
Initialement, les mécanismes d'imprimantes utilisaient des butées mécaniques pour indiquer où se trouvaient les taquets de tabulation. Cela était réalisé dans le sens horizontal par des dents métalliques amovibles sur une rangée, et verticalement avec une courroie de mylar ou d'un autre matériau de la longueur de la page et contenant des perforations. Les taquets étaient positionnés manuellement pour correspondre aux formulaires pré-imprimés qui étaient chargés dans l'imprimante.
L'intention était de pouvoir envoyer aux imprimantes des caractères de contrôle pour établir et effacer les taquets : la norme ISO 6429 possède les codes 136 (Etablir Tabulation Horizontale), 137 (Tabulation Horizontale avec Justification) et 138 (Etablir Tabulation Verticale). En pratique, les taquets de tabulation ajustables furent rapidement remplacés par des taquets fixes, de facto standardisés à chaque multiple de 8 caractères horizontalement, et toutes les 6 lignes verticalement. Un programme d'impression pouvait envoyer zéro ou plusieurs caractères de tabulation pour arriver au taquet le plus proche au-dessus et à gauche de la position à imprimer, puis envoyer des line feeds et des espaces pour arriver à la position finale. Les caractères de tabulation devinrent de fait une technique de compression de données.
Bien que cinq caractères correspondent à ½″ et à la valeur de l'indentation de paragraphe à l'époque, une tabulation horizontale de 8 caractères se répandit car en tant que puissance de deux, elle était plus facile à calculer avec les moyens informatiques limités. Les taquets verticaux étaient rarement disponibles sur ces terminaux.
En contraste avec le standard de facto de 8 caractères, certains environnements de développement (IDE) utilisent par défaut une taille de tabulation horizontale de 4 caractères.