{"id":28430620,"url":"https://github.com/cvs-health/ios-swiftui-accessibility-techniques","last_synced_at":"2025-07-04T21:30:50.600Z","repository":{"id":211939935,"uuid":"726240487","full_name":"cvs-health/ios-swiftui-accessibility-techniques","owner":"cvs-health","description":"Demonstrates iOS SwiftUI Accessibility programming techniques using live good and bad examples that can be tested with VoiceOver and other AT. Includes documentation for developers explaining how to code accessible patterns for iOS.","archived":false,"fork":false,"pushed_at":"2025-05-30T21:14:27.000Z","size":3103,"stargazers_count":258,"open_issues_count":5,"forks_count":27,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-06-05T14:07:34.081Z","etag":null,"topics":["a11y","accessibility","dark-mode","ios","ios-accessibility","ipad","iphone","mobile","swiftui","voiceover","wcag"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cvs-health.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-12-01T20:58:08.000Z","updated_at":"2025-05-30T21:14:29.000Z","dependencies_parsed_at":"2024-01-02T19:40:16.049Z","dependency_job_id":"72eadb9b-d77f-4608-a57e-9bd60c7e170d","html_url":"https://github.com/cvs-health/ios-swiftui-accessibility-techniques","commit_stats":null,"previous_names":["cvs-health/ios-swiftui-accessibility-techniques"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cvs-health/ios-swiftui-accessibility-techniques","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvs-health%2Fios-swiftui-accessibility-techniques","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvs-health%2Fios-swiftui-accessibility-techniques/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvs-health%2Fios-swiftui-accessibility-techniques/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvs-health%2Fios-swiftui-accessibility-techniques/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cvs-health","download_url":"https://codeload.github.com/cvs-health/ios-swiftui-accessibility-techniques/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvs-health%2Fios-swiftui-accessibility-techniques/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263622406,"owners_count":23490096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["a11y","accessibility","dark-mode","ios","ios-accessibility","ipad","iphone","mobile","swiftui","voiceover","wcag"],"created_at":"2025-06-05T14:07:33.213Z","updated_at":"2025-07-04T21:30:50.594Z","avatar_url":"https://github.com/cvs-health.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iOS SwiftUI Accessibility Techniques\niOS SwiftUI sample code demonstrating a variety of good and bad accessibility techniques. Learn how to apply WCAG to iOS SwiftUI apps. Good and Bad examples can be tested with VoiceOver and other iOS accessibility features.\n\n[Download iOS app from the AppStore.](https://apps.apple.com/app/accessibility-techniques/id6474141089)\n\nRead the blog post, [Announcing the iOS SwiftUI Accessibility Techniques Open Source Project](https://www.linkedin.com/pulse/announcing-ios-swiftui-accessibility-techniques-open-source-adam-ldahc/).\n\nReview project source code to learn how to apply the accessibility techniques in working SwiftUI code examples.\n\n## Accessibility Techniques Documentation\n- [x] = Completed\n- [x] [Accessibility Actions](iOSswiftUIa11yTechniques/Documentation/AccessibilityActions.md)\n- [x] [Accessibility Detection](iOSswiftUIa11yTechniques/Documentation/AccessibilityDetection.md)\n- [x] [Accessibility Hidden](iOSswiftUIa11yTechniques/Documentation/AccessibilityHidden.md)\n- [x] [Accessibility Input Labels](iOSswiftUIa11yTechniques/Documentation/AccessibilityInputLabels.md)\n- [x] [Accessibility Notifications](iOSswiftUIa11yTechniques/Documentation/AccessibilityNotifications.md)\n- [x] [Accessibility Representation](iOSswiftUIa11yTechniques/Documentation/AccessibilityRepresentation.md)\n- [x] [Accessibility Responds To User Interaction](iOSswiftUIa11yTechniques/Documentation/AccessibilityRespondsToUserInteraction.md)\n- [x] [Accordions](iOSswiftUIa11yTechniques/Documentation/Accordions.md)\n- [x] [Adjustable Action](iOSswiftUIa11yTechniques/Documentation/AdjustableAction.md)\n- [x] [Alerts](iOSswiftUIa11yTechniques/Documentation/Alerts.md)\n- [x] [Assistive Access](iOSswiftUIa11yTechniques/Documentation/AssistiveAccess.md)\n- [x] [Attributed Strings](iOSswiftUIa11yTechniques/Documentation/AttributedStrings.md)\n- [x] [Buttons](iOSswiftUIa11yTechniques/Documentation/Buttons.md)\n- [x] [Cards](iOSswiftUIa11yTechniques/Documentation/Cards.md)\n- [x] [Charts](iOSswiftUIa11yTechniques/Documentation/Charts.md)\n- [x] [Checkboxes](iOSswiftUIa11yTechniques/Documentation/Checkboxes.md)\n- [x] [Combining Focus](iOSswiftUIa11yTechniques/Documentation/CombiningFocus.md)\n- [x] [Confirmation Dialogs](iOSswiftUIa11yTechniques/Documentation/ConfirmationDialogs.md)\n- [x] [Dark Mode](iOSswiftUIa11yTechniques/Documentation/DarkMode.md)\n- [x] [Data Tables](iOSswiftUIa11yTechniques/Documentation/DataTables.md)\n- [x] [Date \u0026 Time Pickers](iOSswiftUIa11yTechniques/Documentation/DateTimePickers.md)\n- [x] [Decorative Images](iOSswiftUIa11yTechniques/Documentation/DecorativeImages.md)\n- [x] [Device Orientation](iOSswiftUIa11yTechniques/Documentation/DeviceOrientation.md)\n- [x] [Dynamic Type](iOSswiftUIa11yTechniques/Documentation/DynamicType.md)\n- [x] [Error Validation](iOSswiftUIa11yTechniques/Documentation/ErrorValidation.md)\n- [x] [Escape Action](iOSswiftUIa11yTechniques/Documentation/EscapeAction.md)\n- [x] [Focus Management](iOSswiftUIa11yTechniques/Documentation/FocusManagement.md)\n- [x] [Functional Images](iOSswiftUIa11yTechniques/Documentation/FunctionalImages.md)\n- [x] [Grouping Controls](iOSswiftUIa11yTechniques/Documentation/GroupingControls.md)\n- [x] [Headings](iOSswiftUIa11yTechniques/Documentation/Headings.md)\n- [x] [Horizontal Scroll Views](iOSswiftUIa11yTechniques/Documentation/HorizontalScrollViews.md)\n- [x] [Images](iOSswiftUIa11yTechniques/Documentation/Images.md)\n- [x] [Increase Contrast](iOSswiftUIa11yTechniques/Documentation/IncreaseContrast.md)\n- [x] [Informative Images](iOSswiftUIa11yTechniques/Documentation/InformativeImages.md)\n- [x] [Input Instructions](iOSswiftUIa11yTechniques/Documentation/InputInstructions.md)\n- [x] [Language](iOSswiftUIa11yTechniques/Documentation/Language.md)\n- [x] [Large Content Viewer](iOSswiftUIa11yTechniques/Documentation/LargeContentViewer.md)\n- [x] [Links](iOSswiftUIa11yTechniques/Documentation/Links.md)\n- [x] [Lists](iOSswiftUIa11yTechniques/Documentation/Lists.md)\n- [x] [Magic Tap](iOSswiftUIa11yTechniques/Documentation/MagicTap.md)\n- [x] [Meaningful Accessible Names](iOSswiftUIa11yTechniques/Documentation/MeaningfulAccessibleNames.md)\n- [x] [Menus](iOSswiftUIa11yTechniques/Documentation/Menus.md)\n- [x] [Navigation](iOSswiftUIa11yTechniques/Documentation/Navigation.md)\n- [x] [Page Titles](iOSswiftUIa11yTechniques/Documentation/PageTitles.md)\n- [x] [Pickers](iOSswiftUIa11yTechniques/Documentation/Pickers.md)\n- [x] [Popovers](iOSswiftUIa11yTechniques/Documentation/Popovers.md)\n- [x] [Progress Indicators](iOSswiftUIa11yTechniques/Documentation/ProgressIndicators.md)\n- [x] [Radio Buttons](iOSswiftUIa11yTechniques/Documentation/RadioButtons.md)\n- [x] [Reading Order](iOSswiftUIa11yTechniques/Documentation/ReadingOrder.md)\n- [x] [Reduce Motion](iOSswiftUIa11yTechniques/Documentation/ReduceMotion.md)\n- [x] [Reduce Transparency](iOSswiftUIa11yTechniques/Documentation/ReduceTransparency.md)\n- [x] Responsive Layouts\n- [x] [Rotor](iOSswiftUIa11yTechniques/Documentation/Rotor.md)\n- [x] [Scroll Views](iOSswiftUIa11yTechniques/Documentation/ScrollViews.md)\n- [x] [Search Suggestions](iOSswiftUIa11yTechniques/Documentation/SearchSuggestions.md)\n- [x] [Segmented Controls](iOSswiftUIa11yTechniques/Documentation/SegmentedControls.md)\n- [x] [Sheets](iOSswiftUIa11yTechniques/Documentation/Sheets.md)\n- [ ] Siri Shortcuts\n- [x] [Sliders](iOSswiftUIa11yTechniques/Documentation/Sliders.md)\n- [x] [Smart Invert](iOSswiftUIa11yTechniques/Documentation/SmartInvert.md)\n- [x] [Steppers](iOSswiftUIa11yTechniques/Documentation/Steppers.md)\n- [x] [Tabs](iOSswiftUIa11yTechniques/Documentation/Tabs.md)\n- [x] [Text Fields](iOSswiftUIa11yTechniques/Documentation/TextFields.md)\n- [x] [Toggles](iOSswiftUIa11yTechniques/Documentation/Toggles.md)\n- [x] [Touch Target Size](iOSswiftUIa11yTechniques/Documentation/TouchTargetSize.md)\n- [x] [Videos](iOSswiftUIa11yTechniques/Documentation/Videos.md)\n- [x] [VoiceOver Pronunciation](iOSswiftUIa11yTechniques/Documentation/VoiceOverPronunciation.md)\n\n\n## Contributor Guide\n\n1. Before contributing to this CVS Health sponsored project, you will need to sign the associated [Contributor License Agreement](https://forms.office.com/r/tvFjdsisT2).\n2. See [contributing](CONTRIBUTING.md) page.\n\n## License\niOS SwiftUI Accessibility Techniques is licensed under under the Apache License, Version 2.0.  See LICENSE file for more information.\n\nCopyright 2023-2025 CVS Health and/or one of its affiliates\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n[http://www.apache.org/licenses/LICENSE-2.0]()\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvs-health%2Fios-swiftui-accessibility-techniques","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcvs-health%2Fios-swiftui-accessibility-techniques","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvs-health%2Fios-swiftui-accessibility-techniques/lists"}