{"id":13608987,"url":"https://github.com/cvs-health/android-compose-accessibility-techniques","last_synced_at":"2025-04-12T17:33:37.405Z","repository":{"id":239040296,"uuid":"798314046","full_name":"cvs-health/android-compose-accessibility-techniques","owner":"cvs-health","description":"Android sample code demonstrating a variety of accessibility best practices for Jetpack Compose-based UIs.","archived":false,"fork":false,"pushed_at":"2024-10-23T20:36:36.000Z","size":1492,"stargazers_count":56,"open_issues_count":2,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-10-24T08:24:26.234Z","etag":null,"topics":["a11y","accessibility","android","android-accessibility","jetpack-compose"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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}},"created_at":"2024-05-09T14:29:23.000Z","updated_at":"2024-10-23T20:36:40.000Z","dependencies_parsed_at":"2024-08-01T19:42:45.576Z","dependency_job_id":"5a6eb840-9ce6-415c-9ba8-99872f13d794","html_url":"https://github.com/cvs-health/android-compose-accessibility-techniques","commit_stats":null,"previous_names":["cvs-health/android-compose-accessibility-techniques"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvs-health%2Fandroid-compose-accessibility-techniques","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvs-health%2Fandroid-compose-accessibility-techniques/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvs-health%2Fandroid-compose-accessibility-techniques/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvs-health%2Fandroid-compose-accessibility-techniques/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cvs-health","download_url":"https://codeload.github.com/cvs-health/android-compose-accessibility-techniques/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248605494,"owners_count":21132179,"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","android","android-accessibility","jetpack-compose"],"created_at":"2024-08-01T19:01:31.558Z","updated_at":"2025-04-12T17:33:32.391Z","avatar_url":"https://github.com/cvs-health.png","language":"Kotlin","funding_links":[],"categories":["Kotlin"],"sub_categories":[],"readme":"# android-compose-accessibility-techniques\n\nDemonstrates a variety of accessibility best practices for Android Jetpack Compose-based UIs, as well as the problems they can address.\nUsing the app will demonstrate the impact of accessibility best practices, and reviewing the app project source code will help you learn how to apply those techniques in working code.\n\nSee [android-compose-accessibility-techniques Architecture](ARCHITECTURE.md) for details of the app architecture and the project's file structure.\n\nSince some of the code demonstrates the effect of inaccessible coding practices, the app itself does not fully conform to required accessibility guidelines.\n\n## Topics\n- Informative Content\n    - [x] [Text alternatives](doc/content/TextAlternatives.md)\n    - [x] [Accessibility traversal order](doc/content/AccessibilityTraversalOrder.md)\n    - [x] [Content grouping](doc/content/ContentGrouping.md)\n    - [x] [Content group replacement](doc/content/ContentGroupReplacement.md)\n    - [x] [Heading semantics](doc/content/HeadingSemantics.md)\n    - [x] [List semantics](doc/content/ListSemantics.md)\n    - [x] [Adaptive layouts](doc/content/AdaptiveLayouts.md)\n    - [x] [Dark and Light themes](doc/content/DarkAndLightThemes.md)\n    - [x] [Screen and pane titles](doc/content/ScreenAndPaneTitles.md)\n- Interactive Behaviors\n    - [x] [Interactive control labels](doc/interactions/InteractiveControlLabels.md)\n    - [x] [Minimum touch target size](doc/interactions/MinimumTouchTargetSize.md)\n    - [x] [UX change announcements](doc/interactions/UXChangeAnnouncements.md)\n    - [x] [Keyboard types and options](doc/interactions/KeyboardTypes.md)\n    - [x] [Keyboard actions](doc/interactions/KeyboardActions.md)\n    - [x] [Keyboard focus order](doc/interactions/KeyboardFocusOrder.md)\n    - [x] [Custom focus indicators](doc/interactions/CustomFocusIndicators.md)\n    - [x] [Custom click labels](doc/interactions/CustomClickLabels.md)\n    - [x] [Custom state descriptions](doc/interactions/CustomStateDescriptions.md)\n    - [x] [Custom accessibility actions](doc/interactions/CustomAccessibilityActions.md)\n- Specific Component Types\n    - [x] [Accordion controls](doc/components/AccordionControls.md)\n    - [x] [Autofill controls](doc/components/AutofillControls.md)\n    - [x] [Checkbox controls](doc/components/CheckboxControls.md)\n    - [x] [Dropdown menus](doc/components/DropdownMenus.md)\n    - [x] [Exposed dropdown menus](doc/components/ExposedDropdownMenus.md)\n    - [x] [Links inline with text](doc/components/LinksInlineWithText.md)\n    - [x] [ListItem layouts](doc/components/ListItemLayouts.md)\n    - [x] [ModalBottomSheet layouts](doc/components/ModalBottomSheetLayouts.md)\n    - [x] [NavigationBar layouts](doc/components/NavigationBarLayouts.md)\n    - [x] [Pop-up messages (Toast, SnackBar, and AlertDialog controls)](doc/components/PopupMessages.md)\n    - [x] [RadioButton groups](doc/components/RadioButtonGroups.md)\n    - [x] [Slider and RangeSlider controls](doc/components/SliderAndRangeSliderControls.md)\n    - [x] [Stand-alone links](doc/components/StandAloneLinks.md)\n    - [x] [Switch controls](doc/components/SwitchControls.md)\n    - [x] [Tab rows](doc/components/TabRows.md)\n    - [x] [TextField controls](doc/components/TextFieldControls.md)\n    \n- Other\n    - [x] [Compose Semantics automated testing](doc/AutomatedComposeAccessibilityTesting.md)\n\n\n## Screenshots\n\u003cimg src=\"doc/images/HomePartiallyExpanded.png\" width=50% height=50% alt=\"android-compose-accessibility-techniques app Home screen showing the three accessibility technique topic groups: Informative Content, Interactive Behaviors, and Specific Component Types. The Specific Component Types topic group is expanded and shows topics such as Accordion controls and Dropdown menus.\"\u003e\n\u003cimg src=\"doc/images/InteractiveControlLabels.png\" width=50% height=50% alt=\"Interactive control labels screen showing bad and good examples of programmatically-associating text labels with TextField and CheckBox controls.\"\u003e\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/9e9VmE7qLW).\n2. See the [contributing](CONTRIBUTING.md) page.\n\n## License\nandroid-compose-accessibility-techniques is licensed under under the Apache License, Version 2.0.  See [LICENSE](LICENSE) file for more information.\n\nCopyright 2023-2024 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\nhttp://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%2Fandroid-compose-accessibility-techniques","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcvs-health%2Fandroid-compose-accessibility-techniques","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvs-health%2Fandroid-compose-accessibility-techniques/lists"}