هر ژست TDS یک معادل کیبورد دارد؛ کاربر بدون لمس و ماوس هم همان کار را انجام میدهد. کلیدهای جهتی با جهت متن عوض میشوند.
از قرارداد ژست خوانده میشود، نه جدول جدا.
| ژست | کیبورد | صفحهخوان |
|---|---|---|
| ضربه | Enter یا Space روی کنترل فوکوسشده | فعالسازی استاندارد کنترل (دوبار ضربه در VoiceOver/TalkBack) |
| سوایپ | کلید جهتی همجهت (در RTL معکوس) روی عنصر فوکوسشده، یا دکمهٔ جایگزین | دکمهٔ جایگزین با برچسب همان عمل (alternative.label)؛ ژست پنهان از صفحهخوان است |
| کشیدن | Space برداشتن، کلیدهای جهتی جابهجایی، Space گذاشتن، Escape لغو | اعلان live-region برای هر گام («جابهجا شد به جایگاه ۳ از ۷») و دکمههای بالا/پایین |
| فشار طولانی | کلید ContextMenu یا Shift+F10 روی عنصر فوکوسشده | دکمهٔ «گزینههای بیشتر» (alternative) که همان منو را باز میکند |
| کشیدن برای بازخوانی | Alt+ArrowDown روی ظرف فوکوسشده، یا دکمهٔ «بازخوانی» | دکمهٔ «بازخوانی» با برچسب صریح و اعلان «در حال بازخوانی» / «بهروز شد» |
| بزرگنمایی با دو انگشت | کلیدهای + و − (بزرگنمایی/کوچکنمایی) و 0 (بازنشانی) روی عنصر فوکوسشده | دکمههای «بزرگنمایی»، «کوچکنمایی» و «بازنشانی» با برچسب صریح؛ مقدار فعلی در live-region اعلام میشود |
| چرخش با دو انگشت | کلید R (ساعتگرد) و Shift+R (پادساعتگرد) روی عنصر فوکوسشده | دکمههای «چرخش ساعتگرد» و «چرخش پادساعتگرد»؛ زاویهٔ فعلی اعلام میشود |
روی کادر فوکوس کنید و کلید بزنید.
Alt+↓، ContextMenu، Shift+F10، +، −، 0، R، Shift+R، فلشها، Enter و Escape را امتحان کنید.
inline-start در LTR چپ و در RTL راست است؛ کلید معادل هم همانطور میچرخد.
| جهت منطقی | کلید در LTR | کلید در RTL |
|---|---|---|
| inline-start — ابتدای خط | ArrowLeft | ArrowRight |
| inline-end — انتهای خط | ArrowRight | ArrowLeft |
| block-start — بالا | ArrowUp | ArrowUp |
| block-end — پایین | ArrowDown | ArrowDown |
جهت را عوض کنید و کلید نمایشدادهشده را بزنید.
import { keyForDirection, resolveDirection } from '@tokapps/gestures';// کلید معادل سوایپ بهسمت ابتدای خط، با توجه به جهت واقعی عنصرconst key = keyForDirection('inline-start', resolveDirection(el));// LTR → 'ArrowLeft' · RTL → 'ArrowRight'