Klavye gezinmesi (Motif)
Motif’in her düğmeye ve alana fare olmadan ulaşma modeli: widget’lar tab gruplarına ayrılır, Tab gruplar arasında atlar, ok tuşları grup içinde gezdirir ve bir vurgu çerçevesi odağın nerede olduğunu gösterir.
OSF’nin style guide’ı, bir Motif programındaki her şeyin klavyeyle erişilebilir olmasını şart koşuyordu; odağın işaretçiyi izlediği ve Tab’ın bir karakter olduğu Unix dünyasında alışılmadık bir hedefti. Çözüm, her widget’a XmNnavigationType kaynağını vermektir: XmTAB_GROUP onu kendi başına bir grup, XmNONE ebeveyninin grubunun bir üyesi, XmEXCLUSIVE_TAB_GROUP ise ok tuşlarını kendisi ele alan bir grup yapar. Tab ve Shift+Tab gruplar arasında, sanal tuşlar osfUp, osfDown, osfLeft ve osfRight grupların içinde hareket eder; böylece bir XmRowColumn içindeki radyo düğmeleri sırası ok tuşlarıyla gezilebilir. Odaktaki şey, genişliği XmNhighlightThickness olan bir çerçeveyle, Motif’in “konum imleci” (location cursor) ile çizilir.
Hepsi shell’in XmNkeyboardFocusPolicy değerine bağlıdır: varsayılan XmEXPLICIT tıkla-odaklan ve gezinti sağlar; XmPOINTER odağı işaretçiye bırakır ve çoğunu kapatır. Programlar odağı XmProcessTraversal ile taşır, XmNtraversalOn ise tek bir alanı döngüden çıkarır. Motif 1.0 ve 1.1’de programcı her grup için XmAddTabGroup çağırmak zorundaydı; 1992’de 1.2 akıllı varsayılanlar getirdi: kapsayıcılar grup, metin alanları ve listeler ise hiç uğraşmadan kendi grupları oldu. Sonuç, Windows ve Mac kullanıcılarının CDE’de tanıdığı özelliklerden biridir: Tab beklediğiniz şeyi yapar.