کاربر اندروید با ناوبری ژستی، برگهٔ پایینی قابلکشیدن و TalkBack آشناست. TDS همین عادتها را میپذیرد، اما هر ژست را با دکمه و کلید هم در دسترس نگه میدارد.
همان API یکسان؛ فقط حس بصری نمونه به پلتفرم نزدیک شده است.
هنگام کشیدن، ردیف کمرنگ میشود.
| الگوی بومی | معادل TDS | وضعیت | نکته |
|---|---|---|---|
| ژست بازگشت از لبهٔ صفحه (و بازگشت پیشنگر) | هیچ — ژست سیستم است | خارج از وب | مرورگر این ژست را برای ناوبری تاریخچه مصرف میکند. سوایپ افقی TDS نباید از لبهٔ صفحه شروع شود؛ آیتمهای سوایپی را با حاشیهٔ داخلی بچینید. |
| کشیدن برگهٔ پایینی (Bottom Sheet) برای بستن | سوایپ block-end روی DockSheet | هممعنا | تصمیم رهاکردن با `isSwipe`؛ دکمهٔ بستن و Escape همیشه هست (نگاه کنید: DockSheet). |
| سوایپ برای حذف آیتم فهرست | `useSwipe` با `alternative` | هممعنا | جهت منطقی است: inline-start در RTL به راست میرود. کشیدن عمودی اسکرول میماند. |
| کشیدن برای بازخوانی (نشانگر دایرهای) | `usePullToRefresh` | با تفاوت | نشانگر TDS ثابت و بدون چرخش در کاهش حرکت است؛ فقط وقتی scrollTop صفر است شروع میشود. |
| فشار طولانی با موج (ripple) و لرزش | `useLongPress` | با تفاوت | TDS ripple و لرزش ندارد (لرزش در وب سراسری پشتیبانی نمیشود)؛ نوار پیشرفت نگهداشتن جای آن را میگیرد. |
| Pinch برای بزرگنمایی تصویر | `usePinchRotate` | هممعنا | همراه با چرخش دوانگشتی و پنج دکمهٔ معادل. |
| فناوری | عمل کاربر | پاسخ TDS |
|---|---|---|
| TalkBack — فعالسازی | دوبار ضربه روی عنصر فوکوسشده | کنترل واقعی `<button>` است؛ بدون کد ویژه کار میکند. |
| TalkBack — اقدامهای سفارشی | منوی «اقدامها» برای آیتم | دکمهٔ جایگزین `alternative` با برچسب همان عمل؛ ژست پنهان از صفحهخوان است. |
| TalkBack — اسکرول | دو انگشت یا ژست اسکرول TalkBack | سوایپ عمود بر جهت لغو میشود و اسکرول را مصرف نمیکند. |
| Switch Access / کیبورد بلوتوث | پیمایش با کلیدها | کلید جهتی همجهت، ContextMenu / Shift+F10، Alt+ArrowDown؛ فوکوس همیشه دیده میشود. |
pull-to-refresh خود مرورگر روی صفحه فعال است. برای ظرف اسکرولشوندهای که ژست خودش را دارد `overscroll-behavior: contain` بگذارید تا هر دو همزمان اجرا نشوند.
ژست سیستم از لبهها شروع میشود؛ هدفهای ژستی را از لبه دور بچینید و هرگز کل صفحه را `touch-action: none` نکنید.
/* فقط ظرف ژستدار؛ ژست سیستم (بازگشت از لبه) دستنخورده میماند */.gesture-list { overscroll-behavior: contain; }.gesture-list > li { touch-action: pan-y; padding-inline: var(--tds-space-4); }مقادیر دقیق ناحیهٔ ژست سیستم به نسخهٔ کپی کد و تنظیم کاربر بستگی دارد و در TDS هاردکد نمیشود.