Navegação por teclado (Motif)
O modelo do Motif para alcançar cada botão e campo sem mouse: os widgets são agrupados em tab groups, o Tab salta entre grupos, as setas se movem dentro deles e uma moldura de destaque mostra onde está o foco.
O guia de estilo da OSF exigia que tudo num programa Motif fosse acessível pelo teclado, uma ambição incomum num mundo Unix em que o foco seguia o ponteiro e o Tab era um caractere. A solução dá a todo widget o recurso XmNnavigationType: XmTAB_GROUP faz dele um grupo próprio, XmNONE um membro do grupo do pai, e XmEXCLUSIVE_TAB_GROUP um grupo que trata as setas por conta própria. Tab e Shift+Tab movem entre grupos, e as teclas virtuais osfUp, osfDown, osfLeft e osfRight dentro deles, de modo que uma fileira de botões de opção num XmRowColumn pode ser percorrida com as setas. O que está com o foco é desenhado com uma moldura cuja largura é XmNhighlightThickness, o "cursor de localização" do Motif.
Tudo depende do XmNkeyboardFocusPolicy do shell: XmEXPLICIT, o padrão, dá foco por clique e navegação; XmPOINTER deixa o foco com o ponteiro e desativa quase tudo isso. Os programas movem o foco com XmProcessTraversal, e XmNtraversalOn tira um campo específico da rotação. No Motif 1.0 e 1.1 o programador tinha que chamar XmAddTabGroup para cada grupo; o 1.2, em 1992, trouxe padrões sensatos, de modo que contêineres viraram grupos e campos de texto e listas, grupos próprios, sem esforço. O resultado é um dos traços que usuários de Windows e Mac reconheciam no CDE: o Tab faz o que se espera.