Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: message and modal accessibility #7

Merged
merged 13 commits into from
Nov 21, 2023
Merged

fix: message and modal accessibility #7

merged 13 commits into from
Nov 21, 2023

Conversation

yeul
Copy link
Contributor

@yeul yeul commented Oct 3, 2023

Description

  • Adds relevant accessibility properties (i.e. VoiceOver now reads out contents of the message, modal close button is now read correctly, etc.)

Misc. fix (unrelated to A11y audit):

  • Fixed UIKit demo app where you could only tap on the message in a very particular spot to get the modal webview to open.

Screenshots

Testing instructions

Xcode > Open Developer Tool > Accessibility Inspector

@yeul yeul requested a review from Seavenly October 3, 2023 16:29
Copy link
Collaborator

@Seavenly Seavenly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed that when closing the modal the focus goes back to the top most element in the previous view. Should we be giving focus back to the message itself like we do on web?

Sources/PayPalMessages/PayPalMessageView.swift Outdated Show resolved Hide resolved
Sources/PayPalMessages/PayPalMessageViewModel.swift Outdated Show resolved Hide resolved
Sources/PayPalMessages/PayPalMessageViewModel.swift Outdated Show resolved Hide resolved
Sources/PayPalMessages/PayPalMessageModal.swift Outdated Show resolved Hide resolved
Sources/PayPalMessages/PayPalMessageView.swift Outdated Show resolved Hide resolved
Sources/PayPalMessages/PayPalMessageView.swift Outdated Show resolved Hide resolved
Sources/PayPalMessages/PayPalMessageViewModel.swift Outdated Show resolved Hide resolved
Sources/PayPalMessages/PayPalMessageViewModel.swift Outdated Show resolved Hide resolved
@Seavenly Seavenly merged commit 86320e9 into develop Nov 21, 2023
@Seavenly Seavenly deleted the ios-a11y-audit branch November 21, 2023 14:43
github-actions bot pushed a commit that referenced this pull request Nov 22, 2023
## 1.0.0-prerelease.1 (2023-11-22)

### Bug Fixes

* correctly init AnyCodable for modal event properties ([#10](#10)) ([d4a0839](d4a0839))
* disable opening modal until message rendered ([#4](#4)) ([3d09576](3d09576))
* ensure modal shared key removed from individual events ([#13](#13)) ([32ae124](32ae124))
* message and modal accessibility improvements ([#7](#7)) ([86320e9](86320e9))
* move credential override off main thread ([#11](#11)) ([b30c2f8](b30c2f8))
* unrecoverable error state after supplying valid client id ([#5](#5)) ([da5fe52](da5fe52))

### Code Refactoring

* expose proxy and remove environment default param ([#3](#3)) ([a8d36d8](a8d36d8))
* log endpoint schema and route changes ([#12](#12)) ([31ba3b5](31ba3b5))
* pass instance_id ([#9](#9)) ([6d0668b](6d0668b))

### Tests

* expand unit tests  ([#8](#8)) ([48e6f0f](48e6f0f))

### Continuous Integration

* add workflow_call hook for workflows ([13a0f81](13a0f81))
* initial GitHub Actions setup and test ([#1](#1)) ([43d9ff0](43d9ff0))
* prerelease prep ([#6](#6)) ([12cb440](12cb440))
Copy link

🎉 This PR is included in version 1.0.0-prerelease.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

github-actions bot pushed a commit that referenced this pull request Apr 22, 2024
## 1.0.0-alpha.1 (2024-04-22)

### Features

* message and modal close button alternative a11y text ([#28](#28)) ([f017015](f017015))

### Bug Fixes

* correctly init AnyCodable for modal event properties ([#10](#10)) ([d4a0839](d4a0839))
* disable opening modal until message rendered ([#4](#4)) ([3d09576](3d09576))
* ensure modal shared key removed from individual events ([#13](#13)) ([32ae124](32ae124))
* logger uses updated message and modal properties ([#21](#21)) ([6b9e949](6b9e949))
* message and modal accessibility improvements ([#7](#7)) ([86320e9](86320e9))
* move credential override off main thread ([#11](#11)) ([b30c2f8](b30c2f8))
* pass env param to log functions ([#31](#31)) ([610d9e3](610d9e3))
* unrecoverable error state after supplying valid client id ([#5](#5)) ([da5fe52](da5fe52))

### Code Refactoring

* add privacy manifest file and remove tracking IDs ([#30](#30)) ([8400d96](8400d96))
* expose proxy and remove environment default param ([#3](#3)) ([a8d36d8](a8d36d8))
* include default device ID and session ID values ([#25](#25)) ([e34fc94](e34fc94))
* include response details when message failure ([#29](#29)) ([dd1c478](dd1c478))
* log endpoint schema and route changes ([#12](#12)) ([31ba3b5](31ba3b5))
* move stageTag and devTouchpoint options to Environment enum ([#15](#15)) ([d4a9d4a](d4a9d4a))
* pass instance_id ([#9](#9)) ([6d0668b](6d0668b))
* pass message view model dependencies from message view ([#20](#20)) ([9a98326](9a98326))
* placement to pageType and textAlignment to textAlign ([#26](#26)) ([d2ffdd4](d2ffdd4))
* remove currency references ([#14](#14)) ([751c903](751c903))
* rename stage environment value to develop ([#27](#27)) ([83557df](83557df))
* store merchant profile data by client ID and merchant ID ([#19](#19)) ([a502a4f](a502a4f))

### Tests

* expand unit tests  ([#8](#8)) ([48e6f0f](48e6f0f))
* expose view model flush method for consistent tests ([#24](#24)) ([9c1406f](9c1406f))

### Continuous Integration

* codesign xcframework build ([90599d0](90599d0))
* fix linting and test coverage ([#17](#17)) ([3eeebea](3eeebea))
* initial GitHub Actions setup and test ([#1](#1)) ([43d9ff0](43d9ff0))
* initial prerelease fixes ([#16](#16)) ([43cffed](43cffed))
* prerelease prep ([#6](#6)) ([12cb440](12cb440))
Copy link

🎉 This PR is included in version 1.0.0-alpha.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

github-actions bot pushed a commit that referenced this pull request May 14, 2024
## 1.0.0 (2024-05-14)

### Features

* message and modal close button alternative a11y text ([#28](#28)) ([f017015](f017015))

### Bug Fixes

* convert int to string and ensure channel for logger payload ([#32](#32)) ([6794360](6794360))
* correctly init AnyCodable for modal event properties ([#10](#10)) ([d4a0839](d4a0839))
* disable opening modal until message rendered ([#4](#4)) ([3d09576](3d09576))
* ensure modal shared key removed from individual events ([#13](#13)) ([32ae124](32ae124))
* include integration_name with requests ([#34](#34)) ([d5bc8a8](d5bc8a8))
* logger uses updated message and modal properties ([#21](#21)) ([6b9e949](6b9e949))
* message and modal accessibility improvements ([#7](#7)) ([86320e9](86320e9))
* move credential override off main thread ([#11](#11)) ([b30c2f8](b30c2f8))
* pass env param to log functions ([#31](#31)) ([610d9e3](610d9e3))
* unrecoverable error state after supplying valid client id ([#5](#5)) ([da5fe52](da5fe52))

### Code Refactoring

* add privacy manifest file and remove tracking IDs ([#30](#30)) ([8400d96](8400d96))
* expose proxy and remove environment default param ([#3](#3)) ([a8d36d8](a8d36d8))
* include default device ID and session ID values ([#25](#25)) ([e34fc94](e34fc94))
* include response details when message failure ([#29](#29)) ([dd1c478](dd1c478))
* log endpoint schema and route changes ([#12](#12)) ([31ba3b5](31ba3b5))
* move stageTag and devTouchpoint options to Environment enum ([#15](#15)) ([d4a9d4a](d4a9d4a))
* pass instance_id ([#9](#9)) ([6d0668b](6d0668b))
* pass message view model dependencies from message view ([#20](#20)) ([9a98326](9a98326))
* placement to pageType and textAlignment to textAlign ([#26](#26)) ([d2ffdd4](d2ffdd4))
* remove currency references ([#14](#14)) ([751c903](751c903))
* rename stage environment value to develop ([#27](#27)) ([83557df](83557df))
* store merchant profile data by client ID and merchant ID ([#19](#19)) ([a502a4f](a502a4f))

### Tests

* expand unit tests  ([#8](#8)) ([48e6f0f](48e6f0f))
* expose view model flush method for consistent tests ([#24](#24)) ([9c1406f](9c1406f))

### Continuous Integration

* codesign xcframework build ([#33](#33)) ([9ef181d](9ef181d))
* fix linting and test coverage ([#17](#17)) ([3eeebea](3eeebea))
* initial GitHub Actions setup and test ([#1](#1)) ([43d9ff0](43d9ff0))
* initial prerelease fixes ([#16](#16)) ([43cffed](43cffed))
* prerelease prep ([#6](#6)) ([12cb440](12cb440))
Copy link

🎉 This PR is included in version 1.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants