diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AccessibilityAdaption.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AccessibilityAdaption.md index 4fd65aa..4deac16 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AccessibilityAdaption.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AccessibilityAdaption.md @@ -1,4 +1,4 @@ -# 🔒 🥸 Accessibility Adaption +# 🔒 Accessibility of Mobile Applications An introduction to working with Accessibility API @@ -19,37 +19,111 @@ An introduction to working with Accessibility API label: "General Knowledge") } -## Why make accessible experience -Usage statistics, social surveys and other market analyses definitely show that there are people in need of assistive technology support. Despite the fact, accessibility as a field is still new. +## First things first: why support accessibility -The answer for this question is different for every accessibility professional. There are many reasons why a product should have an accessibility adaption, but there is no requirement for any application to be approachable. Unless if your company is working for a particular government that obliges you to conform to a particular law. +Perceive it as a *disclaimer* of some kind. +@Image(source: "placeholder", alt: "") -Otherwise accessibility is voluntary: only you decide why you may want to enable more people to use your product. +### The clientele exists and is visible +To not rely on **common sense** solely, usage *statistics*, social *surveys* and other *market analyses* definitely show that **there are people in need of assistive technology support**. +@Image(source: "fifty-percent", alt: "") -iOS Accessibility Handbook project has no goal to propagate any values. If you are here it means that you have a reason to make a right thing ;) +### Accessibility is not yet widely considered +Despite the fact, it is still *globally uncommon* to have accessibility **considered**. The professional field is in shortage of *competent* specialists; organisations lack the **realisation** of how important it is to provide **equal access** to their products. +@Image(source: "placeholder", alt: "") +Moreover, accessibility is essentially an engine of **people with disabilities inclusion**. Therefore there are common misconceptions and discrimination. Having a disability is still **stigmatised** - the less *open-minded* society is the heavier it is. +@Image(source: "placeholder", alt: "") + + +### Accessible development is perceived differenly +So the answer to "Why support accessibility?" question is different for every person working *around* accessibility. Some people believe that [**accessible design**]() is an *immanent* part of **universal design**. Other chase the **auditory expansion**. A few countries oblige organisation to make accessible products by **civil rights** law and their developers are dodging the lawsuits. +@Image(source: "placeholder", alt: "") + +The more the production is influenced by *external* pressure the less accessible the result will be. Conforming to **extrinsic standards** has *nothing* in common with providing accessible experience: only **empathy** empowers people to consider others. It is impossible to support accessibility properly without a *clear* realisation of the situation and *genuine* motivation to change it. +@Image(source: "placeholder", alt: "") + +### Choice is individual +Therefore only the person themself decides *why* they want to enable more people to use the product whose development is under their influence. + +### Accessibility is a privilege +It is a difficult journey for anyone regardless of their specialty and position, and [**iOS Accessibility Handbook**](https://vodgroup.github.io/AccessibilityDocumentation/documentation/iosaccessibilityhandbook) project has no goal to *propagate* any values. We just support accessibility **the way it should be done** and share the experience. +@Image(source: "placeholder", alt: "") + +**So if you are here it means that you *too* have a reason to do the right thing.** ## Accessibility API ### Accessibility is one of Apple's core values + +@Image(source: "placeholder", alt: "") + Thanks to Apple's decision to protect diversity and invest to accessibility, it is not a unworkable ordeal to create accessible software for iOS. -Talking about iOS the system supports an impressive range of assistive technology and provides highly comprehensible documentation, including WWDC sessions, API reference and promotional materials. +@Image(source: "placeholder", alt: "") + +Talking about iOS the system supports an impressive [**range of assistive technology**]() and provides highly comprehensible **documentation**, including [**WWDC sessions**](https://developer.apple.com/wwdc23/topics/accessibility-inclusion/), [**API reference**](https://developer.apple.com/accessibility/) and [**promotional materials**](https://www.apple.com/accessibility/). + +@Image(source: "placeholder", alt: "") + + +The job ahead itself may be narrowed to **understanding the accessible functional** and knowing how to make it work within an application. To start with, as a part of **code**. + +### Program adaption + +@Image(source: "placeholder", alt: "") + +Constructing an interface out of **default elements** majorly covers the functionality of [**Accessible Features**](), though the **experience** of automatically generated interface will not be as... *delightful* as the one touched by a human. **There is no real accessibility if not intended**. + +@Image(source: "placeholder", alt: "") + +Having **custom elements** designed *specifically* for your interface requires a little bit more work done on supporting [**Accessible Features**]() but it's definitely not exhausting, too. ### UIKit and SwiftUI -Both of two possible user interface frameworks, UIKit and SwiftUI equally provide accessible underlayment for applications built with their use. -Constructing an interface out of default elements majorly covers the functionality of Accessible Features, though the experience of automatically generated interface will not be as delightful as the one touched by a human. +@Image(source: "placeholder", alt: "") + +Both of two possible user interface frameworks, [**UIKit**](https://developer.apple.com/documentation/uikit) and [**SwiftUI**](https://developer.apple.com/xcode/swiftui/) *equally* provide accessible underlayment for applications built with their use. + +@Image(source: "placeholder", alt: "") + +In the book we are going to study [**iOS Accessibility**]() by conceptions presents in *any* other interface, so it is not that important to focus on a particular framework. Nevertheless **both UIKit and SwiftUI implementations are provided for *every* code sample** if possible. + +@Image(source: "placeholder", alt: "") + +### Accessible Design -Having custom elements designed specifically for your interface requires a little bit more work done on supporting Accessibility Features but isn't exhausting too. +@Image(source: "placeholder", alt: "") -In the book we are going to study iOS Accessibility by conceptions presents in any other interface, so it is not that important to focus on a particular framework. Nevertheless both UIKit and SwiftUI implementation are provided for every code sample. +Once the foundation is set there is [**design**](). *No* accessibility implemented for an application will last (or do good at all) without proper **changes in the organisational work**. So if you are already **familiar** with the concepts behind assistive technology and its support, hover over to the [**Enterprise**]() volume of the book and see how to implement your knowledge on a bigger scale. + +@Links(visualStyle: compactGrid) { + - + - + - + - +} ## Adaption Strategy -Ok, enough talking. We are ready to get some work done. +Ok, enough talking. We are ready to get some **work** done. + +### iOS Accessibility Handbook +The book's guidelines are structured *that* way so there is some **entry-level tasks to enable equal access** and vast resources on **polishing accessible experience**. + +@Image(source: "placeholder", alt: "") -The book's guidelines are structured that way so there is some entry-level tasks to do and vast resources on polishing accessible experience. +### Course plan +To see the *whole* curriculum visit the [**Table of Contents**](). -@Image(source: fifteen-percent, alt: "") +@Image(source: roadmap, alt: "") + +### Tutorials +To start right with **practicing** something new, go to [**Based**]() or [**Advanced**]() level overview according to what you want to learn. + +@Links(visualStyle: detailedGrid) { + - + - +} +## Have fun! diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AdaptContent/AccessibleListening/AccessibleListening.tutorial b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AdaptContent/AccessibleListening/AccessibleListening.tutorial index 2dd97d1..a81e283 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AdaptContent/AccessibleListening/AccessibleListening.tutorial +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AdaptContent/AccessibleListening/AccessibleListening.tutorial @@ -9,6 +9,7 @@ https://developer.apple.com/wwdc20/10022 Intro Task + https://www.apple.com/newsroom/2024/03/apple-introduces-transcripts-for-apple-podcasts/ AVSpeechSynthesizer Cases Wrap-up diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/AAC/AAC.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/AAC/AAC.md index 5b8f305..bd0c609 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/AAC/AAC.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/AAC/AAC.md @@ -1,5 +1,9 @@ # Alternative Communication +@Comment { + https://www.apple.com/newsroom/2023/05/assistiveware-ushers-in-next-generation-of-aac-technology/ +} + @Metadata { @PageColor(blue) @TitleHeading("Language Sucks") diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/AccessibilityFeatures.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/AccessibilityFeatures.md index e930e8d..eb50f32 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/AccessibilityFeatures.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/AccessibilityFeatures.md @@ -1,4 +1,6 @@ -# 🥸 Accessibility Features +# Accessibility Features + +A brief overview of Accessibility Features available on iOS @Metadata { @PageColor(blue) @@ -17,23 +19,43 @@ label: "General Knowledge") } -Introduction +## Accessibility Features Explained @Image(source: settings-features, alt: "") -@Image(source: features-list, alt: "") +As any other Apple's operational system iOS supports a great variety of assistive technology **right out of the box**. + +@Links(visualStyle: compactGrid) { + - + - +} + +### Introduction to Accessible Interfaces + +To get familiar with the *concepts* exploited by assistive technology hover to the explanatory article of [**how interfaces support Accessibility Features**](). + +@Image(source: "placeholder", alt: "") + +### List of Essential Software + +To have a closer look at the features available proceed to the series of descriptive articles below. + +@Links(visualStyle: detailedGrid) { + - + - + - + - + - + - + - + - + - +} -## Accessibility Users -Overview -### Not only permanent disabilities +## Supporting Accessibility Features -## Disabilities -Overview -### Vision -### Hearing -### Motor -### Cognitive +To make non-native application work as flawlessly see the [**Table of Contents**](https://vodgroup.github.io/AccessibilityDocumentation/tutorials/adaptionstrategy) for working with Accessibility API documentation. -## Grid +@Image(source: roadmap, alt: "") -## To roadmap +## Have fun! diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/FullKeyboardAccess/Resources/finer-motion.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/FullKeyboardAccess/Resources/dexterity.png similarity index 100% rename from Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/FullKeyboardAccess/Resources/finer-motion.png rename to Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/AccessibilityFeatures/FullKeyboardAccess/Resources/dexterity.png diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/iOSAccessibility.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/iOSAccessibility.md index e200994..57dd939 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/iOSAccessibility.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/iOSAccessibility.md @@ -1,5 +1,7 @@ # iOS Accessibility +An introduction to Accessibility on iOS + @Metadata { @PageColor(blue) @TitleHeading("Technology for Everyone") @@ -17,21 +19,17 @@ label: "General Knowledge") } - -An introduction to Accessibility on iOS - - ## What does it mean for something to be accessible? Accessibility is a *property* of products (e.g. devices, services, concepts, environments) that measures **approachability** — the widest possible range of people who can use it. Everyone has their own *preferences* and *capabilities*, therefore it is required to consider the *diversity* of products' audience if there is a wish to extend the **reach**. @Image(source: fifty-percent, alt: "") -There are many reasons why one would want to *include* more people — from straightforward sales increase to moral beliefs, but regardlessly of the case the strategy is the same: *to provide equal access to the same experience*. +There are many reasons why one would want to *include* more people — from straightforward sales increase to moral beliefs, but regardlessly of the case the work is the same: *to provide equal access to the same experience*. @Image(source: fifteen-percent, alt: "") -## Computer Accessibility -Computer accessibility, often referred to as a11y, includes a wide range of solutions that are aimed to enhance approachability of computers. It may done by using assistive technology, which is specialised software or hardware, or a combination of both. +## Digital Accessibility +Digital accessibility, often referred to as a11y, includes a wide range of solutions that are aimed to enhance approachability of digital technology. It may done by using assistive technology, which is specialised software or hardware, or a combination of both. @Image(source: a11y, alt: "") ## iOS Accessibility @@ -44,7 +42,7 @@ In this book we are going to discuss how to make iOS applications accessible. Du @Image(source: 36-seconds, alt: "") ### Current State -From June 8, 2009 Apple hasn't stopped for a second to promote accessible design. [**Inclusivity**](https://www.apple.com/diversity/) is one of the core values the company has been always exposing and [**accessibility**](https://www.apple.com/accessibility/) is an immanent part of it. Aiming to make a product as universal so everyone can use it led Apple to unmeasurable promotion of assistive technology support. +From June 8, 2009 Apple hasn't stopped for a second to promote accessible design. [**Inclusivity**](https://www.apple.com/diversity/) is one of the core values the company has been always exposing and [**accessibility**](https://www.apple.com/accessibility/) is an immanent part of it. Aiming to make a product as universal so everyone can use it led Apple to unmeasurable efforts put to assistive technology support. @Image(source: inclusion, alt: "") ### Available Features @@ -54,9 +52,23 @@ As for today here is the list of all [**Accessible Features**]() may be tricky to turn off, so make sure you are aware of what is going to happen when you toggle the settings. @Image(source: settings-features, alt: "") +To know more about specific features, their concept and implementation visit the guides in [**Accessibility Feature**]() series. + ### Community Trends -Finally, we came to the point where stating the purpose of this book is possible. iOS Accessibility Handbook is a collection of guidelines of how to develop software for iOS which supports [**Accessible Features**]() and promotes [**accessible design**](). +Finally, we came to the point where stating the purpose of this book is possible. [**iOS Accessibility Handbook**](https://vodgroup.github.io/AccessibilityDocumentation/documentation/iosaccessibilityhandbook) is a collection of guidelines of how to develop software for iOS which supports [**Accessible Features**]() and promotes [**accessible design**](). @Image(source: human-interface-guidelines, alt: "") -To dive into the process of developing accessible application open the Table of Contents, which covers the topics discussed in the book. If you want to learn about Accessibility or assistive technology, visit other articles from General Knowledge category. +To dive into the process of developing accessible application open the [**Table of Contents**](https://vodgroup.github.io/AccessibilityDocumentation/tutorials/adaptionstrategy), which covers the practical side of the book. @Image(source: roadmap, alt: "") + +If you want to learn about accessibility or assistive technology first, take a look at articles from **General Knowledge** category. +@Links(visualStyle: detailedGrid) { + - + - + - + - + - + - +} + +## Have fun! diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/iOSAccessibilityHandbook.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/iOSAccessibilityHandbook.md index cf351c7..12d0c91 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/iOSAccessibilityHandbook.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/iOSAccessibilityHandbook.md @@ -1,6 +1,6 @@ # ``iOSAccessibilityHandbook`` -Make your iOS application accessible for everyone with help of interactive guides. +Make your iOS application accessible for everyone @Metadata { @DisplayName("iOS Accessibility Handbook") @@ -20,7 +20,7 @@ iOS Accessibility Handbook is an open-source **educational project** about makin @Image(source: features-2, alt: "") ### Interactive Learning -This handbook provides *extended documentation* of [**Accessibility Features**](), including: +This handbook provides *extended documentation* of [**Accessibility Features**]() API, including: - verbose *articles* on the topic; - interactive *guides* to follow step-by-step; - various media, such as *video tutorials*. @@ -28,7 +28,7 @@ This handbook provides *extended documentation* of [**Accessibility Features**]( In other words, materials here cover **everything one could ever need to know about accessibility on iOS**. ### Target Audience -The project is dedicated to help *developers*, *designers*, *researchers* and so on — in other words, to *everyone working with accessibility* on iOS. There is **no commercial underlayment** and the only reason the project exists is to popularise the topic and to *share* relevant real-life experience of contributing *accessibility experts*. +The project is dedicated to help *developers*, *designers*, *researchers* and so on — in other words, to *everyone working with accessibility* on iOS. There is **no commercial underlayment** and the only reason the project exists is to popularise the topic and to *share* relevant real-life experience of contributing *accessibility professionals*. ### Featured @Links(visualStyle: detailedGrid) { @@ -38,9 +38,9 @@ The project is dedicated to help *developers*, *designers*, *researchers* and so ## — How does it work? -The handbook is somewhat of a *complete course* of **how to make iOS applications accessible** regardless of the stage of its development. The material is split into conceptual *topics* and categorised by its relation to particular assistive technologies and levels of *importance*. +The handbook is somewhat of a *complete course* of **how to make iOS applications accessible** regardless of the stage of its development. The material is split into conceptual *topics* and categorised by its relation to particular assistive technologies and field of implementation. -To know more about the book's structure scroll down to the bottom of the page where table of contents is. +To know more about the book's structure scroll down to the bottom of the page where the [**table of contents**](https://vodgroup.github.io/AccessibilityDocumentation/documentation/iosaccessibilityhandbook/#topics) is. ### Technical Implementation At the moment the project's form is defined by being a *documentation catalog* ([**DocC**](https://www.swift.org/documentation/docc)) hosted by [**GitHub pages**](https://pages.github.com). @@ -52,7 +52,7 @@ The resources are provided by **Mikhail Rubanov**, Head of Mobile Development at @Image(source: "aboutAccessibility-sample", alt: "-") ### VoiceOver Designer -Reading the book you may sometimes notice screenshots of iOS applications with *mark-ups* related to accessibility design over them. This is [**VoiceOver Designer**](https://rubanov.dev/voice-over-designer), an [open-source](https://github.com/VODGroup/VoiceOverDesigner) macOS application that allows to design *accessibility scenarios* over a screenshot of an app. +Reading the book one may sometimes notice screenshots of iOS applications with *mark-ups* related to accessibility design over them. This is [**VoiceOver Designer**](https://rubanov.dev/voice-over-designer), an [open-source](https://github.com/VODGroup/VoiceOverDesigner) macOS application that allows to design *accessibility scenarios* over a screenshot of an app. @Image(source: "vod-sample", alt: "-") diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/Keynote/complex-illustrations.key b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/Keynote/complex-illustrations.key index 1db93e5..82832a8 100755 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/Keynote/complex-illustrations.key and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/Keynote/complex-illustrations.key differ