فوکوس و VoiceOver (Focus & VoiceOver)
«فوکوس (Focus)» یعنی کدام عنصر الان انتخاب است. «VoiceOver» متن را می خواند. با فوکوس درست، کاربر سریع تر هدایت می شود. همچنین پیام ها واضح می شوند. در SwiftUI می توانی فوکوس را با کد جابه جا کنی.
کنترل فوکوس به صورت برنامه نویسی
با @AccessibilityFocusState وضعیت فوکوس را نگه دار. سپس با .accessibilityFocused آن را به یک View وصل کن. در نهایت با یک دکمه فوکوس را فعال کن. بنابراین VoiceOver همان بخش را می خواند.
import SwiftUI
struct FocusA11yDemo: View {
@AccessibilityFocusState private var focused: Bool
var body: some View {
VStack(spacing: 12) {
Text("Status")
.accessibilityFocused($focused)
Button("Focus Status") {
focused = true
}
}
.padding()
}
}
import SwiftUI
struct ContentView: View {
var body: some View {
FocusA11yDemo()
}
}
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
نکته: بعد از تغییر فوکوس، بازخورد متنی کوتاه بده. بنابراین کاربر متوجه می شود.
گام های عملی سریع
- یک متغیر @AccessibilityFocusState بساز.
- آن را به View هدف متصل کن.
- با یک دکمه فوکوس را فعال کن.
- با VoiceOver رفتار را تست کن.
- پیام ها را واضح و کوتاه نگه دار.
هشدار: بین چند عنصر نزدیک، فوکوس پریدن ایجاد نکن. زیرا کاربر گیج می شود.
لینک های داخلی مفید
برای متن خوانا به سایز پویا مراجعه کن. همچنین مبانی را در دسترس پذیری در SwiftUI ببین. برای مرور این صفحه، از لینک فوکوس و VoiceOver استفاده کن.
جمع بندی سریع
- فوکوس را با کد کنترل کن.
- VoiceOver را حتماً تست کن.
- پیام ها کوتاه و دقیق باشند.
- از پریدن فوکوس جلوگیری کن.
- با سایز پویا هماهنگ بمان.