--- id: 587d7790367417b2b2512ab1 title: Usar tabindex para especificar a ordem do foco em vários elementos usando o teclado challengeType: 0 videoUrl: 'https://scrimba.com/c/cmzRRcb' forumTopicId: 301028 dashedName: use-tabindex-to-specify-the-order-of-keyboard-focus-for-several-elements --- # --description-- O atributo `tabindex` também especifica a ordem em que a tecla tab percorrerá os elementos. Isso é obtido quando o valor do atributo é definido como um número positivo (1 ou acima). Definir um `tabindex="1"` fará com que o foco seja levado para esse elemento quando o usuário apertar a tecla tab pela primeira vez. Em seguida, o foco passará ao próximo elemento que tem um `tabindex` maior que o anterior. Quando não existirem mais itens para receberem foco, ele volta ao valor inicial - `tabindex="0"`. É importante observar que quando a ordem da tecla tab é definida dessa forma, ela sobrescreve a ordem padrão (que se baseia no código HTML). Isso pode confundir os usuários que esperam iniciar a navegação do topo da página. Esta técnica pode ser necessária em algumas circunstâncias, mas, em termos de acessibilidade, tome cuidado antes de aplicá-la. Exemplo: ```html
I get keyboard focus, and I get it first!
``` ```html
I get keyboard focus, and I get it second!
``` # --instructions-- O Camper Cat tem um campo de pesquisa em sua página Citações Inspiradoras, o qual ele planeja posicionar no canto superior direito com CSS. Ele deseja que os controles de formulário search `input` e submit `input` sejam os dois primeiros itens na ordem das guias. Adicione um atributo `tabindex` definido como `1` para o `search` `input` e um atributo `tabindex` definido como `2` para o `submit` `input`. Outra questão a ser observada é o fato de que alguns navegadores podem colocar você no meio da ordem de navegação via tecla "tab" quando um elemento é clicado. Um elemento foi adicionado à página que garante que você sempre iniciará no início de sua ordem ao pressionar a tecla tab. # --hints-- O código deve adicionar um atributo `tabindex` à tag `input` de id `search`. ```js assert($('#search').attr('tabindex')); ``` O código deve adicionar um atributo `tabindex` à tag `input` de id `submit`. ```js assert($('#submit').attr('tabindex')); ``` O código deve definir o atributo `tabindex` na tag `input` de id `search` para um valor de 1. ```js assert($('#search').attr('tabindex') == '1'); ``` O código deve definir o atributo `tabindex` na tag `input` de id `submit` para um valor de 2. ```js assert($('#submit').attr('tabindex') == '2'); ``` # --seed-- ## --seed-contents-- ```html

Even Deeper Thoughts with Master Camper Cat

Inspirational Quotes

“There's no Theory of Evolution, just a list of creatures I've allowed to live.”
- Chuck Norris

“Wise men say forgiveness is divine, but never pay full price for late pizza.”
- TMNT

``` # --solutions-- ```html

Even Deeper Thoughts with Master Camper Cat

Inspirational Quotes

“There's no Theory of Evolution, just a list of creatures I've allowed to live.”
- Chuck Norris

“Wise men say forgiveness is divine, but never pay full price for late pizza.”
- TMNT

```