add accessibility ids

pull/891/head
Ryan ZHAO 1 year ago
parent 72fa1ae52a
commit 98ab03c454

@ -72,6 +72,12 @@ struct MyQRCodeScreen: View {
logo: "SessionWhite40", logo: "SessionWhite40",
themeStyle: ThemeManager.currentTheme.interfaceStyle themeStyle: ThemeManager.currentTheme.interfaceStyle
) )
.accessibility(
Accessibility(
identifier: "QR code",
label: "QR code"
)
)
.aspectRatio(1, contentMode: .fit) .aspectRatio(1, contentMode: .fit)
Text("settings_view_my_qr_code_explanation".localized()) Text("settings_view_my_qr_code_explanation".localized())

@ -158,7 +158,7 @@ class SettingsViewModel: SessionTableViewModel, NavigationItemSource, Navigatabl
image: UIImage(named: "QRCode")? image: UIImage(named: "QRCode")?
.withRenderingMode(.alwaysTemplate), .withRenderingMode(.alwaysTemplate),
style: .plain, style: .plain,
accessibilityIdentifier: "Show QR code button", accessibilityIdentifier: "View QR code",
action: { [weak self] in action: { [weak self] in
let viewController: SessionHostingViewController = SessionHostingViewController(rootView: QRCodeScreen()) let viewController: SessionHostingViewController = SessionHostingViewController(rootView: QRCodeScreen())
viewController.setNavBarTitle("vc_qr_code_title".localized()) viewController.setNavBarTitle("vc_qr_code_title".localized())
@ -249,6 +249,7 @@ class SettingsViewModel: SessionTableViewModel, NavigationItemSource, Navigatabl
backgroundStyle: .noBackground backgroundStyle: .noBackground
), ),
accessibility: Accessibility( accessibility: Accessibility(
identifier: "User settings",
label: "Profile picture" label: "Profile picture"
), ),
onTap: { onTap: {
@ -300,16 +301,24 @@ class SettingsViewModel: SessionTableViewModel, NavigationItemSource, Navigatabl
id: .idActions, id: .idActions,
leftAccessory: .button( leftAccessory: .button(
style: .bordered, style: .bordered,
title: "copy".localized(), title: "share".localized(),
run: { button in accessibility: Accessibility(
self?.copySessionId(state.profile.id, button: button) identifier: "Share button",
label: "Share button"
),
run: { _ in
self?.shareSessionId(state.profile.id)
} }
), ),
rightAccessory: .button( rightAccessory: .button(
style: .bordered, style: .bordered,
title: "share".localized(), title: "copy".localized(),
run: { _ in accessibility: Accessibility(
self?.shareSessionId(state.profile.id) identifier: "Copy button",
label: "Copy button"
),
run: { button in
self?.copySessionId(state.profile.id, button: button)
} }
), ),
styling: SessionCell.StyleInfo( styling: SessionCell.StyleInfo(

@ -135,7 +135,10 @@ extension View {
public func accessibility(_ accessibility: Accessibility) -> some View { public func accessibility(_ accessibility: Accessibility) -> some View {
if #available(iOSApplicationExtension 14.0, *) { if #available(iOSApplicationExtension 14.0, *) {
return accessibilityIdentifier(accessibility.identifier ?? "").accessibilityLabel(accessibility.label ?? "") guard let identifier = accessibility.identifier else {
return self
}
return accessibilityIdentifier(identifier).accessibilityLabel(accessibility.label ?? "")
} else { } else {
return self return self
} }

Loading…
Cancel
Save