Как закрыть Compose Dialog в accessibility mode?
У меня есть дилог в compose
...
Dialog(
properties = DialogProperties(usePlatformDefaultWidth = false),
onDismissRequest = { eventReceiver.contentEventReceiver.onCellClick?.invoke(null) }
) {
(LocalView.current.parent as DialogWindowProvider).window.apply {
setDimAmount(0.8f)
setGravity(Gravity.CENTER_VERTICAL)
}
rotator.ContentCellHorizontalRotator(
selectedContent = selectedItem
)
}
...
Вопрос в том, что у этого диалога нет X
кнопки куда юзер может нажать и закрыть его, подразумевается, что юзер нажимает за пределю диалога и он закрывается.
Но, проблема в accessibility mode (допустим для людей с проблемами зрения), то в этом случае tack back будет читать все в экрана в том числе и доступные опции, но опции закрыть диалог нет. Другими словами человек открывший диалог не может его закрыть.
В iOS допустим для закрытия диалога есть out of the box жест - двумя пальцами провести по экрану фигуру Z, но я не нашел, чтоб такое было в андроиде.
У кого какие идеи на этот счет?
Ответы (1 шт):
В итоге оказалось, что есть такой жест в виде фигры "обратной L (одним пальцем вниз и влево" как описано в этой статье - https://qbalsdon.github.io/accessibility,/testing,/talkback,/voiceover/2023/05/10/accessibility-cheatsheets.html
Так же можно на устройстве проверить перечень нативных жестов -
Settings -> Accessibility -> TalkBack -> Settings -> Customise gestures