هدف تمرکز عنصر میانای کاربری است که تمرکز صفحهکلید میتواند به آن منتقل شود. کاربران میتوانند تمرکز صفحهکلید را با کلید جهش یا کلیدهای جهتنما (پیکان) جابهجا کنند:
- Tab یا Shift+Tab — فوکوس را در ترتیب ظاهر یکبعدی به جلو یا عقب حرکت میدهد.
- کلیدهای جهتنما — تمرکز را بهصورت دوبعدی حرکت میدهد (بالا، پایین، چپ، و راست).
عناصر تعاملی میانای کاربر بهطور پیشفرض هدفهای تمرکز هستند
مؤلفه تعاملی بهطور پیشفرض هدف تمرکز است. بهعبارت دیگر، اگر کاربران بتوانند روی عنصر میانای کاربر تکضرب بزنند یا کلیک کنند، آن عنصر هدف تمرکز است.
برای مثال، سه مؤلفه کارت را درنظر بگیرید. اگر کارت اول و سوم تعاملی باشند (یک فراخوان onClick تعریف کنند)، اما کارت دوم صرفاً اطلاعاتی باشد (بدون مدیریت کلیک)، فشردن کلید Tab روی کارت اول، کارت دوم را رد میکند و مستقیماً به کارت سوم میرود.
Card(onClick = { /* First card action */ }) { Text("Card 1 (Interactive)") } Card { Text("Card 2 (Informational - not focusable)") } Card(onClick = { /* Third card action */ }) { Text("Card 3 (Interactive)") }
با ارائه پارامتر onClick میتوانید کارت دوم را به هدف تمرکز تبدیل کنید:
Card(onClick = { /* Second card action */ }) { Text("Card 2 (Now interactive and focusable)") }
اصلاحکننده clickable همچنین عناصر واسط کاربر سفارشی یا استاندارد را به
هدفهای تمرکز تبدیل میکند. برای جزئیات، به تکضرب زدن و فشار دادن مراجعه کنید.
Box( modifier = Modifier .clickable { /* Handle click */ } ) { Text("Custom interactive element") }
تبدیل کردن composable به هدف تمرکز غیرقابلکلیک
اصلاحگر focusable یک composable را بدون نیاز به معناشناسی کلیک به هدف تمرکز تبدیل میکند. کاربران میتوانند فوکوس صفحهکلید را به ترکیبپذیر اصلاحشده منتقل کنند (برای مثال، برای بررسی محتوا با ابزارهای دسترسپذیری یا پیمایش نمای دید)، اما فشار دادن کلیدهای Enter یا Space کنش کلیک را راهاندازی نمیکند:
Box( modifier = Modifier .focusable() ) { Text("Non-clickable focus target") }
غیرقابلتمرکز کردن composable
در برخی سناریوها، ممکن است بخواهید یک عنصر تعاملی را از پیمایش صفحهکلید مستثنی کنید بدون اینکه رویدادهای اشارهگر یا کلیک را غیرفعال کنید. با تنظیم canFocus = false در اصلاحکننده focusProperties میتوانید از دریافت تمرکز توسط مؤلفه جلوگیری کنید:
var checked by remember { mutableStateOf(false) } Switch( checked = checked, onCheckedChange = { checked = it }, // Prevent component from being focused modifier = Modifier .focusProperties { canFocus = false } )
توصیهشده برای شما
- توجه: وقتی جاوا اسکریپت خاموش باشد، نوشتار پیوند نمایش داده میشود
- ترتیب پیمایش فوکوس
- تمرکز در فیلدهای نوشتاری
- هدفهای تمرکز گروه
- نشان دادن حالت متمرکز
- آزمایش پیمایش تمرکز