---
title: "إمكانية الوصول"
description: "متطلبات إمكانية الوصول التي يبنيها Tanrei في الرموز ومواصفات المكوّنات، والفحوص التي تفرضها."
url: "https://tanrei.chnotchy.com/ar/foundations/accessibility/"
last_updated: 2026-10-23T17:33:05.000Z
---

# إمكانية الوصول

> متطلبات إمكانية الوصول التي يبنيها Tanrei في الرموز ومواصفات المكوّنات، والفحوص التي تفرضها.

إمكانية الوصول في Tanrei مجموعة قيود على النظام نفسه. يرفض بناء الرموز (tokens) إنتاج مخطط لوني يخفق في التباين، ولا تصحّ مواصفة مكوّن بلا دوره وجدول مفاتيحه وضمان هدفه.

## التباين

يقيس بناء الرموز كل مخطط لوني، الفاتح والداكن عند التباين القياسي والمتوسط والعالي، بهذه العتبات، ويفشل حين يقصر عنها زوج:

| المحتوى | التباين القياسي والمتوسط | التباين العالي |
| --- | --- | --- |
| النص، والأيقونات المرسومة بلون محتوى | 4.5:1 | 7:1 |
| علامة حالة على حاويتها اللونية الخاصة | 3:1 | 3:1 |
| الحدود والرسوم اللازمة لتمييز عنصر تحكم أو تشغيله | 3:1 | 3:1 |
| حلقة التركيز مقابل الأسطح المجاورة | 3:1 | 3:1 |

لا عتبة أدنى للنص الكبير. تقبل WCAG تباينًا أقل للنص الذي يبلغ نحو 24px بالوزن العادي، أو 19px بالوزن العريض، فما فوق، لكن البناء يُلزم كل أدوار النص بنسبة 4.5:1، و 7:1 عند التباين العالي: فدور اللون لا يعرف الحجم الذي سيُستخدم به.

العناصر المعطَّلة والزينة الخالصة معفاة، وكذلك الخط الرفيع بالدور `outline-variant` عند التباين القياسي. وهذا الإعفاء هو السبب في أن الحدّ الذي يكون العلامة الوحيدة على عنصر تحكم يجب أن يستخدم `outline` لا `outline-variant`.

### الثوابت المفروضة

تصحّ هذه الشروط لكل سمة عند كل مستوى تباين، أي ست تركيبات في المجموع، وإلا فشل البناء:

- كل زوج أدوار `(X, on-X)`، وكل دور نص (`on-surface` و `on-surface-variant` و `link` ولون أي غرض) على كل دور سطح، لا يقل عن 4.5:1، ولا يقل عن 7:1 في المخططين عاليي التباين؛
- لون كل حالة لا يقل عن 3:1 مقابل حاويتها اللونية الخاصة؛
- `outline` لا يقل عن 3:1 مقابل كل دور سطح؛
- في النظام الافتراضي عند التباين المتوسط والعالي، `outline-variant` لا يقل عن 3:1 و 4.5:1 مقابل كل دور سطح، ويبقى `outline` أقوى منه؛
- `focus-ring` لا يقل عن 3:1 مقابل الأسطح.

تمنع قواعد المشروع تخفيف عتبة لكي ينجح فحص.

## حجم الهدف

The least sizes of what a person presses. minimum is the least height (and, for an icon-only control, width) anything pressable is drawn at; touch and pointer are the least hit areas, which a control reaches past what it draws where it stands alone.

| الرمز | القيمة | معاينة |
| --- | --- | --- |
| `--tanrei-sys-target-minimum` | 32px |  |
| `--tanrei-sys-target-pointer` | 44px |  |
| `--tanrei-sys-target-spacing` | 8px |  |
| `--tanrei-sys-target-touch` | 48px |  |

مولَّد من `design/tokens/tanrei.light.tokens.json`, `tokens/sys/measure.tokens.json`

**الحجم المرئي ليس مساحة اللمس.** ارتفاع الزر الصغير في Tanrei هو 32 وحدة، وهذا يناسب شريط أدوات كثيفًا، لكنه يستجيب مع ذلك على امتداد 48 وحدة على الأقل للّمس و 44 للمؤشر. تمدّ المكوّنات مساحة لمسها على نحو غير مرئي، وتُبقي 8 وحدات على الأقل بين الأهداف المتجاورة. تعلن كل مواصفة هذا الضمان، وتختبره كل منصة.

## التركيز

يعرض كل مكوّن تفاعلي مؤشر التركيز المكوَّن من فجوة ثم حلقة عند التركيز بلوحة المفاتيح أو بالتقنيات المساعدة، فورًا وبلا حركة. يتبع ترتيب التركيز ترتيب القراءة. وتخرج المكوّنات المعطَّلة من ترتيب التركيز.

## لوحة المفاتيح

تحتوي مواصفة كل مكوّن على جدول بالمفاتيح والإجراءات، يُعرض في صفحة توثيقه تحت **إمكانية الوصول**. والمنصات التي تدعم لوحة مفاتيح مادية تنفّذ الجدول بحذافيره.

## تكبير النص

يجب أن تبقى الواجهات صالحة للاستخدام والنص عند **200%**. تكبر الحاويات مع نصها، وتلتفّ التسميات على أسطر قبل أن تُقتطع، ولا شيء يعتمد على ارتفاع ثابت ليسع سطرًا من النص. وتستخدم التنفيذات الأصلية آلية النص القابل للتكبير في كل منصة.

## تقليل الحركة

حين يطلب النظام تقليل الحركة، تُزال الحركة المكانية أو يحلّ محلّها تلاشٍ وجيز، ولا يتكرر شيء في حلقة. انظر [الحركة](https://tanrei.chnotchy.com/ar/foundations/motion/).

## الدلالات

تسمّي المواصفة دور WAI-ARIA للمكوّن وطريقة تكوين اسمه المتاح للتقنيات المساعدة. وتقابل كل منصة الدور بنظيره الأصلي: صفات إمكانية الوصول (accessibility traits) في SwiftUI، وخصائص الدلالات (semantics) في Compose و Flutter، و `accessibilityRole` في React Native. وعلى الويب يفضّل Tanrei العناصر الأصلية داخل shadow root، حتى ترى المتصفحات وأدوات الاختبار دلالات حقيقية.

## كيف تُختبر

| المنصة | الفحص الآلي |
| --- | --- |
| Web | axe-core في Playwright |
| SwiftUI | تدقيق إمكانية الوصول في XCTest |
| Compose | فحوص Accessibility Test Framework |
| Flutter | مطابِقات `meetsGuideline` |
| React Native | تأكيدات الدور والتسمية، مع تدقيقات أصلية عبر تطبيق المعرض |

> [!NOTE]
> **ملاحظة**
>
> تلتقط الفحوص الآلية قلّة من المشكلات الحقيقية. هي حدّ أدنى. استخدم قارئ شاشة ولوحة مفاتيح مع كل ما تبنيه بهذه المكوّنات.
