مفاهیم و پیادهسازی Jetpack Compose
سعی کنید برنامه Android خود را برای همه، ازجمله افراد دارای نیازهای دسترسپذیری، قابلاستفاده کنید.
افراد دارای اختلال بینایی، کوررنگی، اختلال شنوایی، اختلال مهارت، ناتوانیهای شناختی، و بسیاری از ناتوانیهای دیگر از دستگاههای Android استفاده میکنند. وقتی برنامهها را با درنظر گرفتن دسترسپذیری توسعه میدهید، تجربه کاربری را برای افراد دارای نیازهای دسترسپذیری بهبود میبخشید.
این صفحه دستورالعملهایی را برای پیادهسازی عناصر کلیدی دسترسپذیری ارائه میدهد تا همه بتوانند راحتتر از برنامهتان استفاده کنند. برای راهنمایی عمیقتر درباره نحوه دسترسپذیرتر کردن برنامه، اصول بهبود دسترسپذیری برنامه را ببینید.
استفاده از کنترلهای بزرگ و ساده
اگر دیدن و تکضرب زدن روی کنترلهای واسط کاربر برنامهتان آسانتر باشد، استفاده از آن آسانتر خواهد بود. توصیه میکنیم هر عنصر تعاملی میانای کاربر دارای ناحیه قابلتمرکز، یا اندازه هدف لمسی، حداقل ۴۸ در ۴۸ پیکسل مستقل از تراکم باشد. هرچه بزرگتر باشد بهتر است.
برای اینکه عنصر میانای کاربر دادهشده اندازه هدف لمسی بهاندازه کافی بزرگ داشته باشد، هر دو شرط زیر باید برقرار باشد:
- مجموع مقادیر
android:paddingLeft،android:minWidth، وandroid:paddingRightبزرگتر یا مساوی ۴۸dp است. - مجموع مقادیر
android:paddingTop،android:minHeight، وandroid:paddingBottomبزرگتر یا مساوی ۴۸dp است.
مقادیر حاشیه داخلی اجازه میدهند اندازه نمایان شیء کمتر از ۴۸ در ۴۸ پیکسل مستقل از تراکم باشد درحالیکه همچنان اندازه هدف لمسی توصیهشده را دارد.
تکهکد زیر عنصری را نشان میدهد که اندازه هدف لمسی توصیهشده را دارد:
<ImageButton ... android:paddingLeft="4dp" android:minWidth="40dp" android:paddingRight="4dp" android:paddingTop="8dp" android:minHeight="32dp" android:paddingBottom="8dp" />
توصیف هر عنصر میانای کاربر
برای هر عنصر میانای کاربر در برنامهتان، شرحی اضافه کنید که
هدف عنصر را توضیح دهد. در بیشتر موارد، این شرح را در مشخصه contentDescription عنصر قرار میدهید، همانطور که در تکهکد زیر نشان داده شده است:
<!-- Use string resources for easier localization. --> <!-- The en-US value for the following string is "Inspect". --> <ImageView ... android:contentDescription="@string/inspect" />
هنگام افزودن شرح به عناصر میانای کاربر برنامهتان، روالهای مطلوب زیر را درنظر داشته باشید:
نوع عنصر میانای کاربر را در شرح محتوا وارد نکنید. صفحهخوانها بهطور خودکار هم نوع و هم شرح عنصر را اعلام میکنند. برای مثال، اگر انتخاب دکمهای باعث انجام کنش «ارسال» در برنامهتان میشود، شرح دکمه را
"Submit"قرار دهید، نه"Submit button".هر شرح باید یکتا باشد. به این ترتیب، وقتی کاربران صفحهخوان با شرح عنصر تکراری مواجه میشوند، بهدرستی تشخیص میدهند که تمرکز روی عنصری است که قبلاً هم تمرکز روی آن بوده است. بهویژه، هر مورد در گروه نمایشی مانند
RecyclerViewباید شرح متفاوتی داشته باشد. هر شرح باید محتوایی را نشان دهد که برای یک مورد خاص منحصربهفرد است، مثلاً نام شهر در فهرست مکانها.اگر
minSdkVersionبرنامهتان16یا بالاتر است، میتوانید برای عناصر گرافیکی که فقط برای جلوه تزئینی استفاده میشوند، مشخصهandroid:importantForAccessibilityرا روی"no"تنظیم کنید.
منابع بیشتر
برای کسب اطلاعات بیشتر درباره دسترسپذیرتر کردن برنامهتان، منابع اضافی زیر را ببینید: