diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Credits.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Credits.md index f40284f..3640b2f 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Credits.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Credits.md @@ -5,7 +5,7 @@ @TitleHeading("Thank You") @PageImage( purpose: icon, - source: credits, + source: "credits-icon", alt: "") @PageImage( purpose: card, diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Glossary.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Glossary.md index 7071df9..d0a7024 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Glossary.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Glossary.md @@ -7,7 +7,7 @@ This is a fucking glossary. Mikhail Rubanov I swear to God if you ever look at t @TitleHeading("Book's Language") @PageImage( purpose: icon, - source: "dic", + source: "glossary-icon", alt: "") @PageImage( purpose: card, diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/Interfaces/AccessibleUI.tutorial b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/Interfaces/AccessibleUI.tutorial index e145294..684362b 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/Interfaces/AccessibleUI.tutorial +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/Interfaces/AccessibleUI.tutorial @@ -1,66 +1,68 @@ -@Article(time: 30) { +@Comment { + @Article(time: 30) { - @Intro(title: "Create Accessible Interface") { + @Intro(title: "Create Accessible Interface") { - A humble UI crash course + A humble UI crash course - Before doing anything with our apps let's make sure that we know what we're doing. Or at least have a required understanding to not make things worse. So we'll start with breaking down the conception of interfaces and what interface is considered accessible. - } - ## What is a user interface - ### Everything in-between a device and its user - Scientifically talking, a **user interface** is the space between a device and its user, and contains everything that makes the communication between the human and the machine possible. + Before doing anything with our apps let's make sure that we know what we're doing. Or at least have a required understanding to not make things worse. So we'll start with breaking down the conception of interfaces and what interface is considered accessible. + } + ## What is a user interface + ### Everything in-between a device and its user + Scientifically talking, a **user interface** is the space between a device and its user, and contains everything that makes the communication between the human and the machine possible. - Any interface **provides and retrieves information**. The former ability is supposed to help the user to control the device, the latter allows this controlling. + Any interface **provides and retrieves information**. The former ability is supposed to help the user to control the device, the latter allows this controlling. - As a consequence, interfaces are built from various elements of different nature. Though all items provide information to some degree, not all of them are used to control. + As a consequence, interfaces are built from various elements of different nature. Though all items provide information to some degree, not all of them are used to control. - Therefore all elements can be separated into two groups: purely **informative** elements and **interactive** elements. + Therefore all elements can be separated into two groups: purely **informative** elements and **interactive** elements. - But it is not sufficient for a collection of elements to be an interface. The items out of which the interface is built have to work together. Work in order to achieve a particular goal. So there must be a cohesion between them. + But it is not sufficient for a collection of elements to be an interface. The items out of which the interface is built have to work together. Work in order to achieve a particular goal. So there must be a cohesion between them. - ### User scenarios - Any application serves a particular **purpose**. Even if the task an application solves is not obvious there is one and it is determined by **what the application enables the user to do**. + ### User scenarios + Any application serves a particular **purpose**. Even if the task an application solves is not obvious there is one and it is determined by **what the application enables the user to do**. - To get a better grip on the **concept**, let's answer the *"What this app is for?"* question for some common **types** of applications. + To get a better grip on the **concept**, let's answer the *"What this app is for?"* question for some common **types** of applications. - | Application | Purpose | - | ----------------- | ----------------------------------------------------- | - | **A store** | To view and order the products available in the store | - | **A drawing app** | To create digital drawings on the device | - | **Settings** | To control the behaviour of the device | - | **A mobile game** | To entertain the user by various means | - | **A messenger** | To connect with other people using the device | + | Application | Purpose | + | ----------------- | ----------------------------------------------------- | + | **A store** | To view and order the products available in the store | + | **A drawing app** | To create digital drawings on the device | + | **Settings** | To control the behaviour of the device | + | **A mobile game** | To entertain the user by various means | + | **A messenger** | To connect with other people using the device | - As you can see the examples are indeed very different. But each of them equally has a purpose. The functionality of an app is built of user scenarios: possible sequences of actions done to achieve a particular task completion. + As you can see the examples are indeed very different. But each of them equally has a purpose. The functionality of an app is built of user scenarios: possible sequences of actions done to achieve a particular task completion. - ## What does accessibility adaption - ### Enables everyone to use the application - The one and only goal of accessibility adaption is to enable as many people to use the app. Which means that regardless of what scenarios are available for users without accessibility settings on they must be possible for a completion with help of assistive technology. + ## What does accessibility adaption + ### Enables everyone to use the application + The one and only goal of accessibility adaption is to enable as many people to use the app. Which means that regardless of what scenarios are available for users without accessibility settings on they must be possible for a completion with help of assistive technology. - ### Provides the equal experience - Additionally it is desired to provide accessible experience in the same manner as the "original" one, for example, just as easy and entertaining, but enabling the core functionality is the prior goal. There are few cases when it is impossible to save the quality of the experience: in cases where sensory translation loses the immersion. But unless there is an unescapable loss one has to consider the user experience to make products truly accessible. + ### Provides the equal experience + Additionally it is desired to provide accessible experience in the same manner as the "original" one, for example, just as easy and entertaining, but enabling the core functionality is the prior goal. There are few cases when it is impossible to save the quality of the experience: in cases where sensory translation loses the immersion. But unless there is an unescapable loss one has to consider the user experience to make products truly accessible. - ## How to make accessible interfaces - To think with thoroughness. Not to use overlays, widgets, and not to mindlessly follow step-by-step guides. + ## How to make accessible interfaces + To think with thoroughness. Not to use overlays, widgets, and not to mindlessly follow step-by-step guides. - Accessibility is a part of inclusion. It is impossible to empower people without considering where they come from. Lack of empathy only results in misconceptions and no good product can be build on wrong predicaments. So to make sure you have the knowledge that is ready to be implemented read the rest of the book thoroughly and pay attention to the details. Be curious and critical: the smallest detail considered in your app can enable a huge range of people to use it. + Accessibility is a part of inclusion. It is impossible to empower people without considering where they come from. Lack of empathy only results in misconceptions and no good product can be build on wrong predicaments. So to make sure you have the knowledge that is ready to be implemented read the rest of the book thoroughly and pay attention to the details. Be curious and critical: the smallest detail considered in your app can enable a huge range of people to use it. - If you are ready to learn let's dive into accessibility. The topics discussed in this part of the book are presented by three categories: + If you are ready to learn let's dive into accessibility. The topics discussed in this part of the book are presented by three categories: - @Image(source: book-content, alt: "") + @Image(source: book-content, alt: "") - ## Introduction - ## Interface's data exposure - ## Paving new trails + ## Introduction + ## Interface's data exposure + ## Paving new trails - ## Have fun! + ## Have fun! - @Links(visualStyle: detailedGrid) { - - - - + @Links(visualStyle: detailedGrid) { + - + - + } } } diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/Interfaces/AccessibleUX.tutorial b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/Interfaces/AccessibleUX.tutorial index f1bfcd1..8bd10ed 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/Interfaces/AccessibleUX.tutorial +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/Interfaces/AccessibleUX.tutorial @@ -1,16 +1,18 @@ -@Article(time: 35) { - - @Intro(title: "Enhancing Accessible Experience") { - @Image(source: placeholder-image, alt: "") - } +@Comment { + @Article(time: 35) { + + @Intro(title: "Enhancing Accessible Experience") { + @Image(source: placeholder-image, alt: "") + } - ## Зачин для интро + ## Зачин для интро - ## Про недостаточность предыдущей части книги + ## Про недостаточность предыдущей части книги - ## Про юзер эксп дизайн + ## Про юзер эксп дизайн - ## Про софистикейтед текнолоджи типа ротор с ссылками на наши статьи + ## Про софистикейтед текнолоджи типа ротор с ссылками на наши статьи - ## Направить на туториалы + ## Направить на туториалы + } } diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/a11yTerminology.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/a11yTerminology.md index 5a73585..f227956 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/a11yTerminology.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Accessibility/a11yTerminology.md @@ -7,7 +7,7 @@ Digital accessibility crash course @TitleHeading("What Are We Even Talking About") @PageImage( purpose: icon, - source: "a11y-icon", + source: "terms-icon", alt: "") @PageImage( purpose: card, diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Disabiity/Disability.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Disabiity/Disability.md deleted file mode 100644 index 5456b77..0000000 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Disabiity/Disability.md +++ /dev/null @@ -1,11 +0,0 @@ -# Disability - -Summary - -## Overview - -Text - -### Section header - -Text diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Information/Information.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Information/Information.md index 0508b20..6b5cbac 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Information/Information.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/Information/Information.md @@ -1,158 +1,160 @@ -# Human Perception and Informational Models - -A quick dip back into primordial soup to understand how everyone experiences the same world differently - -@Metadata { - @PageColor(blue) - @TitleHeading("Perceiving Information") - @PageImage( - purpose: icon, - source: "brain", - alt: "") - @PageImage( - purpose: card, - source: "perception-card", - alt: "") - @CallToAction( - url: "https://www.apple.com/accessibility/", - purpose: link, - label: "General Knowledge") -} +@Comment { + # Human Perception and Informational Models + + A quick dip back into primordial soup to understand how everyone experiences the same world differently + + @Metadata { + @PageColor(blue) + @TitleHeading("Perceiving Information") + @PageImage( + purpose: icon, + source: "brain", + alt: "") + @PageImage( + purpose: card, + source: "perception-card", + alt: "") + @CallToAction( + url: "https://www.apple.com/accessibility/", + purpose: link, + label: "General Knowledge") + } -## Multimodality of Information -Operating a computing device is essentially an **exchange of data**: the device *provides information* to be received and *gets information* from the user. As for today, **information** transmitted by the device may take one of three forms of **content types** supported by the modern technology: **visual**, **auidial** and **tactile**. + ## Multimodality of Information + Operating a computing device is essentially an **exchange of data**: the device *provides information* to be received and *gets information* from the user. As for today, **information** transmitted by the device may take one of three forms of **content types** supported by the modern technology: **visual**, **auidial** and **tactile**. -@Image(source: multimodality, alt: "") + @Image(source: multimodality, alt: "") -But the thing is the **form of the content doesn't define the matter**. The same message may be presented by various **media types**. A birthday postcard, balloons animation in iMessage and a voice call may represent the absolutely same experience of being congratulated -- they convey the same **informational model**. -@Image(source: placeholder-image, alt: "") + But the thing is the **form of the content doesn't define the matter**. The same message may be presented by various **media types**. A birthday postcard, balloons animation in iMessage and a voice call may represent the absolutely same experience of being congratulated -- they convey the same **informational model**. + @Image(source: placeholder-image, alt: "") -## Informational models and their singularity -To start with, let's define information. Information is an abstract concept of data provided by an object. - -### Objective reality -@Image(source: milky-way, alt: "") { - *"Reality"* often refers to the **observable universe** -} -An object is a conceptual unit of objective reality -- a conceptional model consisting of facts that define everything embedded in the universe. + ## Informational models and their singularity + To start with, let's define information. Information is an abstract concept of data provided by an object. + ### Objective reality + @Image(source: milky-way, alt: "") { + *"Reality"* often refers to the **observable universe** + } + An object is a conceptual unit of objective reality -- a conceptional model consisting of facts that define everything embedded in the universe. -Regardless of whether this information is received or not, the matter behind the cause stays the same. -@Image(source: earth, alt: "") { - With or without knowledge of this fact, Earth as a floating rock will exist -} + Regardless of whether this information is received or not, the matter behind the cause stays the same. -But does the singularity of matter mean that its informational models are equally perceived by everyone able to recognise it? + @Image(source: earth, alt: "") { + With or without knowledge of this fact, Earth as a floating rock will exist + } -## Cognitive models are plural + But does the singularity of matter mean that its informational models are equally perceived by everyone able to recognise it? -First things first, perception is an **ability to receive output from the outer world**. Inherent to living creatures, of course, as far as we know, rocks do not react on stimuli, otherwise they would be considered living. + ## Cognitive models are plural -### Living creatures -The complexity of yet singular reality made carbon-based lifeforms diverse that much so it's hard to believe that all inhabitants of Earth **share the same nature**. Bacteria, insects, fish, cats, humans, corals, pine trees and mushrooms - all living creatures are made of the same elements by the same rules and live **in the same world**. + First things first, perception is an **ability to receive output from the outer world**. Inherent to living creatures, of course, as far as we know, rocks do not react on stimuli, otherwise they would be considered living. -@Image(source: fish, alt: "") { - Lifeforms **diversity** is unmeasurable -} + ### Living creatures + The complexity of yet singular reality made carbon-based lifeforms diverse that much so it's hard to believe that all inhabitants of Earth **share the same nature**. Bacteria, insects, fish, cats, humans, corals, pine trees and mushrooms - all living creatures are made of the same elements by the same rules and live **in the same world**. -### Sentience -Nevertheless, those living creatures who are **sentient**, i.e. **able to sense**, perceive the world *differently*. Each species have their own **knowledge of the world** -- their own **worldview**, defined by the set of **perceptional abilities** available for them. + @Image(source: fish, alt: "") { + Lifeforms **diversity** is unmeasurable + } -> Note: A model of **cognised environment** is called [**umwelt**](https://en.wikipedia.org/wiki/Umwelt), and an umwelt is consistent of [**qualias**](https://en.wikipedia.org/wiki/Qualia) - instances of **subjective experience**. + ### Sentience + Nevertheless, those living creatures who are **sentient**, i.e. **able to sense**, perceive the world *differently*. Each species have their own **knowledge of the world** -- their own **worldview**, defined by the set of **perceptional abilities** available for them. -### Experience -**Subjectiveness of experience** comes from the **types of information** species are able to **recognise**. A **set** of such abilities available for a specie is called a **perceptional system**. + > Note: A model of **cognised environment** is called [**umwelt**](https://en.wikipedia.org/wiki/Umwelt), and an umwelt is consistent of [**qualias**](https://en.wikipedia.org/wiki/Qualia) - instances of **subjective experience**. + ### Experience + **Subjectiveness of experience** comes from the **types of information** species are able to **recognise**. A **set** of such abilities available for a specie is called a **perceptional system**. -## Different perceptional systems perceive differently -@Image(source: eyes, alt: "") { - Evolution made different eyes to see in **different conditions** -} -*Taxonomically* creatures are differentiated by their **evolutionary development**. Humans and cats are of one biological class -- **mammals** -- because these species are similar in their development. - -Members of a particular **biological class** are capable of developing the same kinds of **cells** for particular **receptive organs**. The situation is different for species of *other* classes, those with different kinds of **receptive cells**, and, therefore, **sensory organs**. - -Even though **humans** and **cats** perceive the reality drastically differently, their perceptions have **the same underlayment**. - -@Row { - @Column { - @Image(source: eye, alt: "") { - Sight - } - } - @Column { - @Image(source: touch, alt: "") { - Touch - } - } - @Column { - @Image(source: mouth, alt: "") { - Taste - } - } - @Column { - @Image(source: ear, alt: "") { - Sound - } - } - @Column { - @Image(source: nose, alt: "") { - Smell - } - } -} -In the contrary, **insects**, which are not mammals, are able to **sense humidity** by a completely different perception than humans. Humans decide whether they are wet or not based on the feeling of temperature difference between their skin and the environment. Insects *just* feel wetness -- by *hygroreceptors* - specific **sensory cells**. -@Image(source: butterfly, alt: "") { - It knows it is wet -} + ## Different perceptional systems perceive differently + @Image(source: eyes, alt: "") { + Evolution made different eyes to see in **different conditions** + } + *Taxonomically* creatures are differentiated by their **evolutionary development**. Humans and cats are of one biological class -- **mammals** -- because these species are similar in their development. + + Members of a particular **biological class** are capable of developing the same kinds of **cells** for particular **receptive organs**. The situation is different for species of *other* classes, those with different kinds of **receptive cells**, and, therefore, **sensory organs**. + + Even though **humans** and **cats** perceive the reality drastically differently, their perceptions have **the same underlayment**. + + @Row { + @Column { + @Image(source: eye, alt: "") { + Sight + } + } + @Column { + @Image(source: touch, alt: "") { + Touch + } + } + @Column { + @Image(source: mouth, alt: "") { + Taste + } + } + @Column { + @Image(source: ear, alt: "") { + Sound + } + } + @Column { + @Image(source: nose, alt: "") { + Smell + } + } + } -Nevertheless, it is not required to be of a different specie to have different cognitive model of the world: *levels* of perception of a particular sense differ from a specie to specie. Dogs smell in a range thousands times wider than cats and moles are nearly completely blind, but as mammals they **all are able to see, hear, touch, smell and taste -- just to different degrees**. + In the contrary, **insects**, which are not mammals, are able to **sense humidity** by a completely different perception than humans. Humans decide whether they are wet or not based on the feeling of temperature difference between their skin and the environment. Insects *just* feel wetness -- by *hygroreceptors* - specific **sensory cells**. + @Image(source: butterfly, alt: "") { + It knows it is wet + } -@Image(source: color-blindness, alt: "") + Nevertheless, it is not required to be of a different specie to have different cognitive model of the world: *levels* of perception of a particular sense differ from a specie to specie. Dogs smell in a range thousands times wider than cats and moles are nearly completely blind, but as mammals they **all are able to see, hear, touch, smell and taste -- just to different degrees**. + @Image(source: color-blindness, alt: "") -## Sensory organs impairments -Now we know that **perceiving the world differently is natural** and based on the **capabilities** of one's **sensory system**. But what about difference unrelated to **biological diversity**? Why members of the **exact same species** may perceive the world *so* differently? -@Image(source: vision-loss, alt: "") + ## Sensory organs impairments + Now we know that **perceiving the world differently is natural** and based on the **capabilities** of one's **sensory system**. But what about difference unrelated to **biological diversity**? Why members of the **exact same species** may perceive the world *so* differently? -### Congenital impairments -It is possible to be born with a sensory system capabilities different from what is considered **typic** for the species as a result of **disfunction of receptive cells** due to *prenatal* pathologies. Such **sensory impairments** obtained *before* birth are called **congenital**. + @Image(source: vision-loss, alt: "") -@Image(source: newborn-albino, alt: "") { - Albinism often comes with **congenital visual disability** -} + ### Congenital impairments + It is possible to be born with a sensory system capabilities different from what is considered **typic** for the species as a result of **disfunction of receptive cells** due to *prenatal* pathologies. Such **sensory impairments** obtained *before* birth are called **congenital**. -> Important: People who **were born** without an ability to use a particular sense, for example, those who are *congenitally* completely **blind** or **deaf** have no idea about visual or audial forms of information in the terms of how sighted or hearing people perceive it. **Their *cognitive models* of the world are different.** + @Image(source: newborn-albino, alt: "") { + Albinism often comes with **congenital visual disability** + } -### Obtained impairments -Being born with **fully functional sensory system does not guarantee the integrity of perception forever**. Typical perception may be adjusted **temporary** or **permanently** during the life as a result of **changes within the receptive or processing organs**. + > Important: People who **were born** without an ability to use a particular sense, for example, those who are *congenitally* completely **blind** or **deaf** have no idea about visual or audial forms of information in the terms of how sighted or hearing people perceive it. **Their *cognitive models* of the world are different.** -@Image(source: eye-injury, alt: "") { - An injured eye is a **dysfunctional sensory organ** -} + ### Obtained impairments + Being born with **fully functional sensory system does not guarantee the integrity of perception forever**. Typical perception may be adjusted **temporary** or **permanently** during the life as a result of **changes within the receptive or processing organs**. -@Image(source: magnifying-glass, alt: "") { - It is natural for people to experience **vision loss** from **aging-related degradation of sensory organs** + @Image(source: eye-injury, alt: "") { + An injured eye is a **dysfunctional sensory organ** } - - -## Differences in processing recieved information -## -- Ok. How does this all information helps me create accessible products? -The *most* important point that can be taken from this page (after the fact that no one is safe from losing abilities to sense, of course) is that **the meaning behind any cause is the same regardless of its interpretation**. - -@Image(source: placeholder-image, alt: "") - - -For example, a mobile applications implementing pizza delivery solves the same task **with** and **without** graphic interface **available to be perceived**. The **experience** of making an order will be different, but the **mental model** of the process is the same for everyone. Because it was *designed* this way. - -As *accessibility experts* it is our **goal** to create interfaces that are **perceivable in different conditions**, i.e. have the **content** as independent as possible of its **form**. - -## See Also -- -- -- -- -- + + @Image(source: magnifying-glass, alt: "") { + It is natural for people to experience **vision loss** from **aging-related degradation of sensory organs** + } + + + ## Differences in processing recieved information + ## -- Ok. How does this all information helps me create accessible products? + The *most* important point that can be taken from this page (after the fact that no one is safe from losing abilities to sense, of course) is that **the meaning behind any cause is the same regardless of its interpretation**. + + @Image(source: placeholder-image, alt: "") + + + For example, a mobile applications implementing pizza delivery solves the same task **with** and **without** graphic interface **available to be perceived**. The **experience** of making an order will be different, but the **mental model** of the process is the same for everyone. Because it was *designed* this way. + + As *accessibility experts* it is our **goal** to create interfaces that are **perceivable in different conditions**, i.e. have the **content** as independent as possible of its **form**. + + ## See Also + - + - + - + - + - +} diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/InterfaceInteractions.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/InterfaceInteractions.md index 20bd030..8418533 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/InterfaceInteractions.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/InterfaceInteractions.md @@ -1,95 +1,97 @@ -# Interface Interaction - -Different methods of controlling an interface - -@Metadata { - @PageColor(blue) - @TitleHeading("Controlling Options") - @PageImage( - purpose: icon, - source: "wheelchair", - alt: "") - @PageImage( - purpose: card, - source: "disabilities-card", - alt: "") - @CallToAction( - url: "https://www.apple.com/accessibility/", - purpose: link, - label: "General Knowledge") -} - -In [**Interface Perception**]() article we learnt that the information perceived by a person comes through multiple channels of receptive abilities and its interpretation is affected by possible limitations. +@Comment { + # Interface Interaction -### Interfaces are just inputs and outputs -Moreover, we know that user interfaces are not only able to present the data but to receive it. Getting input is an essential task given to any computer to make the device operable. Operating computers enables its users to control the computational processes. + Different methods of controlling an interface -Omitting the sophisticated language it just means that a computer is not solely a transmitter, but a receiver at the same time. + @Metadata { + @PageColor(blue) + @TitleHeading("Controlling Options") + @PageImage( + purpose: icon, + source: "wheelchair", + alt: "") + @PageImage( + purpose: card, + source: "disabilities-card", + alt: "") + @CallToAction( + url: "https://www.apple.com/accessibility/", + purpose: link, + label: "General Knowledge") + } + + In [**Interface Perception**]() article we learnt that the information perceived by a person comes through multiple channels of receptive abilities and its interpretation is affected by possible limitations. -### Touchscreens implement both -Talking about the subject of our interest, people are able to operate modern mobile devices by interacting with its touchscreen. Any interface displayed on the screen consists of elements that are not only informational, but provide the option to be activated. + ### Interfaces are just inputs and outputs + Moreover, we know that user interfaces are not only able to present the data but to receive it. Getting input is an essential task given to any computer to make the device operable. Operating computers enables its users to control the computational processes. -### Interactive elements of a user interface -Interactive elements of a user interface are called controls. But if a person can not operate a smartphone by precisely navigating and then activating a visible control on the screen? + Omitting the sophisticated language it just means that a computer is not solely a transmitter, but a receiver at the same time. -## Physical limitations + ### Touchscreens implement both + Talking about the subject of our interest, people are able to operate modern mobile devices by interacting with its touchscreen. Any interface displayed on the screen consists of elements that are not only informational, but provide the option to be activated. -Definition of controls from above implies many pitfalls. + ### Interactive elements of a user interface + Interactive elements of a user interface are called controls. But if a person can not operate a smartphone by precisely navigating and then activating a visible control on the screen? -### Visual recognition -First of all, the controls available on the screen can be only distinguished visually, which is a problem. Not everyone is able to see, recognise or simply look at the screen. + ## Physical limitations -@Links(visualStyle: detailedGrid) { - - -} + Definition of controls from above implies many pitfalls. -### Precise navigation -Then there is activating these controls. To operate a mobile interface one has to press on a particular area of the touchscreen with their finger, which is also a problem. + ### Visual recognition + First of all, the controls available on the screen can be only distinguished visually, which is a problem. Not everyone is able to see, recognise or simply look at the screen. -Not everyone has fingers. Moreover, having fingers doesn't guarantee that their owner is able to use them with the required dexterity. + @Links(visualStyle: detailedGrid) { + - + } -Regardless of their on the screen, graphic controls are still tiny because mobile device are tiny. Otherwise they wouldn't be mobile. + ### Precise navigation + Then there is activating these controls. To operate a mobile interface one has to press on a particular area of the touchscreen with their finger, which is also a problem. -Then there is responsiveness. Even the slightest touch on the screen is received. + Not everyone has fingers. Moreover, having fingers doesn't guarantee that their owner is able to use them with the required dexterity. -All that makes operating touchscreens an unbearable ordeal for people who lack fine motor skills or efficient visual recognition. Shaking hands, i.e. tremor, immobility of fingers or their absence, blindness disable a person from using controls. So how people are supposed to complete the task of using a smartphone if they simply can't? + Regardless of their on the screen, graphic controls are still tiny because mobile device are tiny. Otherwise they wouldn't be mobile. -## Item Selection -Here we are. Navigating to the control and activating as an integral process is called item selection. Both selection methods below work with the same set of elements on the screen, but the way the user comes to the control they want to activate is different. + Then there is responsiveness. Even the slightest touch on the screen is received. -### Direct selection -Complex graphic user interfaces were originally designed to be used with a pointing device. A pointing device is a mouse, a touchpad, a trackball, a stylus pen, an eye tracker -- everything that can be used to move a pointer, which is a symbol on the screen displaying the current position of the user in the interface, by providing physical input. + All that makes operating touchscreens an unbearable ordeal for people who lack fine motor skills or efficient visual recognition. Shaking hands, i.e. tremor, immobility of fingers or their absence, blindness disable a person from using controls. So how people are supposed to complete the task of using a smartphone if they simply can't? -Pointing devices allow direct input, which is a "free" focusing on an element on the screen by direct navigation. No iteration of other elements happening. + ## Item Selection + Here we are. Navigating to the control and activating as an integral process is called item selection. Both selection methods below work with the same set of elements on the screen, but the way the user comes to the control they want to activate is different. -> Note: Actually the iteration is happening, but the process is that fast and subconscious so it is incomparable to the explicit iteration. + ### Direct selection + Complex graphic user interfaces were originally designed to be used with a pointing device. A pointing device is a mouse, a touchpad, a trackball, a stylus pen, an eye tracker -- everything that can be used to move a pointer, which is a symbol on the screen displaying the current position of the user in the interface, by providing physical input. -### Indirect selection -On the other side of operating computers there is indirect selection. Indirect selection does not require precise physical aiming: this method goes through every element available on the screen without having to aim for it. The user either waits for the automatic selection frame to iterate to the item they want to activate or manually go to it if they are able to perform the action of focus. + Pointing devices allow direct input, which is a "free" focusing on an element on the screen by direct navigation. No iteration of other elements happening. -### Interfacial elements hierarchy -To implement the indirect access, the assistive software takes the available elements of the screen and iterates through them in a particular order. + > Note: Actually the iteration is happening, but the process is that fast and subconscious so it is incomparable to the explicit iteration. -### Accessibility Tree -Talking about iOS devices, the order is taken from Accessibility Tree that represents a hierarchical structure of accessible elements. The iteration happens left to right or right to left depending on the language of the interface, top to bottom. + ### Indirect selection + On the other side of operating computers there is indirect selection. Indirect selection does not require precise physical aiming: this method goes through every element available on the screen without having to aim for it. The user either waits for the automatic selection frame to iterate to the item they want to activate or manually go to it if they are able to perform the action of focus. -## Supporting indirect selection -And this is the most important thing we have to consider when designing accessible interface. To enable people use your application with indirect selection, you have to ensure that all controls are accessible and navigable. Moreover, it is crucial to be aware of the order of elements in your interface because indirect selection is essentially what VoiceOver is. Screen readers read the elements in the ordered manner, so it is crucial to structure the elements that way so the semantic model is properly comprehensible without having to perceive the interface layout visually. + ### Interfacial elements hierarchy + To implement the indirect access, the assistive software takes the available elements of the screen and iterates through them in a particular order. -To know how to support indirect selection, and, thus, enable users of those assistive technology relying on it, take a look at the following articles: + ### Accessibility Tree + Talking about iOS devices, the order is taken from Accessibility Tree that represents a hierarchical structure of accessible elements. The iteration happens left to right or right to left depending on the language of the interface, top to bottom. -@Links(visualStyle: detailedGrid) { -- -- -- -- -- -- -} + ## Supporting indirect selection + And this is the most important thing we have to consider when designing accessible interface. To enable people use your application with indirect selection, you have to ensure that all controls are accessible and navigable. Moreover, it is crucial to be aware of the order of elements in your interface because indirect selection is essentially what VoiceOver is. Screen readers read the elements in the ordered manner, so it is crucial to structure the elements that way so the semantic model is properly comprehensible without having to perceive the interface layout visually. -### Have fun! + To know how to support indirect selection, and, thus, enable users of those assistive technology relying on it, take a look at the following articles: -## See Also -- -- -- + @Links(visualStyle: detailedGrid) { + - + - + - + - + - + - + } + + ### Have fun! + + ## See Also + - + - + - +} diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/MediaTypes.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/MediaTypes.md deleted file mode 100644 index 49afaa8..0000000 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/MediaTypes.md +++ /dev/null @@ -1,11 +0,0 @@ -# MediaTypes - -Summary - -## Overview - -Text - -### Section header - -Text diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/MobileAccessibility.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/MobileAccessibility.md index 236b966..cf1a11d 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/MobileAccessibility.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/MobileAccessibility.md @@ -1,144 +1,145 @@ -# Accessibility of Mobile Applications - -What is **mobile accessibility** and its consequences - -@Metadata { - @PageColor(blue) - @TitleHeading("What Are We Talking About") - @PageImage( - purpose: icon, - source: "list", - alt: "") - @PageImage( - purpose: card, - source: "placeholder-image", - alt: "") - @CallToAction( - url: "https://www.apple.com/accessibility/", - purpose: link, - label: "General Knowledge") -} +@Comment { + # Accessibility of Mobile Applications -In this article we're going to overview the *concept* of **digital accessibility** and its application to **mobile devices** in general and **iOS** in particlar. + What is **mobile accessibility** and its consequences -## Why support accessibility at the first place + @Metadata { + @PageColor(blue) + @TitleHeading("What Are We Talking About") + @PageImage( + purpose: icon, + source: "list", + alt: "") + @PageImage( + purpose: card, + source: "placeholder-image", + alt: "") + @CallToAction( + url: "https://www.apple.com/accessibility/", + purpose: link, + label: "General Knowledge") + } -Perceive this part as a *disclaimer* of some kind. -@Image(source: "placeholder", alt: "") + In this article we're going to overview the *concept* of **digital accessibility** and its application to **mobile devices** in general and **iOS** in particlar. -### 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: "") + ## Why support accessibility at the first place -### Nevertheless, 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: "") + Perceive this part as a *disclaimer* of some kind. + @Image(source: "placeholder", alt: "") -Moreover, accessibility is essentially an engine of **people with disabilities inclusion**. Just as with any other **exclusion**, 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: "") + ### 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: "") + ### Nevertheless, 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: "") -## Compliance and conformance -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** and conforming to **accessibility guidelines** makes the product better for everyone. Other chase the **auditory expansion** by PR stunts to attract good will. A few countries oblige organisations to make accessible products by **civil rights law** and such developers are **dodging lawsuits** by complying to the *standards*. -@Image(source: "placeholder", alt: "") + Moreover, accessibility is essentially an engine of **people with disabilities inclusion**. Just as with any other **exclusion**, 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: "") -### Real accessibility is intentional -The more the production is influenced by *external* pressure the less accessible the result will be. Complying to **extrinsic standards** has *nothing* in common with providing accessible experience: only **empathy** allows 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: "") -In addition, **incorrect adoption** of accessibility guidelines leads to a dramatic **decrease of approachability** of the app. Integrating anything only increases **complexity** of applications so one has to be aware of the consequences of their actions. **The simpler interfaces are the more accessible they are.** -### Choice is yours -All in all, only the person themself decides *why* they want to enable more people to use the product whose development is under their influence. But remember that **accessibility of a digital product is a forceful approach to empower potential users with disabilities and enhance its interfacial design.** + ## Compliance and conformance + 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** and conforming to **accessibility guidelines** makes the product better for everyone. Other chase the **auditory expansion** by PR stunts to attract good will. A few countries oblige organisations to make accessible products by **civil rights law** and such developers are **dodging lawsuits** by complying to the *standards*. + @Image(source: "placeholder", alt: "") -### -- What do you mean by empowering? -Creating digital solutions is essentially **solving the problem of real world with help of technology**. For everyone. But talking about **people with health limitations**, using a **digital form** to get the services provided by a particular company **is the only** or **preferable way**. -@Image(source: "placeholder", alt: "") { - Ordering groceries online is a **lesser trial** for people with **limited mobility** than going to a local store -} + ### Real accessibility is intentional + The more the production is influenced by *external* pressure the less accessible the result will be. Complying to **extrinsic standards** has *nothing* in common with providing accessible experience: only **empathy** allows 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: "") + In addition, **incorrect adoption** of accessibility guidelines leads to a dramatic **decrease of approachability** of the app. Integrating anything only increases **complexity** of applications so one has to be aware of the consequences of their actions. **The simpler interfaces are the more accessible they are.** + ### Choice is yours + All in all, only the person themself decides *why* they want to enable more people to use the product whose development is under their influence. But remember that **accessibility of a digital product is a forceful approach to empower potential users with disabilities and enhance its interfacial design.** -### Accessibility is a privilege -**Integrating accessibility** into a project is a **difficult journey** for everyone, regardless of their specialty and position. [**iOS Accessibility Handbook**](https://vodgroup.github.io/AccessibilityDocumentation/documentation/iosaccessibilityhandbook) is here **to help**. We just advocate for accessibility and share that experience. -@Image(source: "placeholder", alt: "") -So, let's get some **work done**? + ### -- What do you mean by empowering? + Creating digital solutions is essentially **solving the problem of real world with help of technology**. For everyone. But talking about **people with health limitations**, using a **digital form** to get the services provided by a particular company **is the only** or **preferable way**. + @Image(source: "placeholder", alt: "") { + Ordering groceries online is a **lesser trial** for people with **limited mobility** than going to a local store + } -## Mobile accessibility for iOS -First of all, let's get familiar with [**the subject**](). + ### Accessibility is a privilege + **Integrating accessibility** into a project is a **difficult journey** for everyone, regardless of their specialty and position. [**iOS Accessibility Handbook**](https://vodgroup.github.io/AccessibilityDocumentation/documentation/iosaccessibilityhandbook) is here **to help**. We just advocate for accessibility and share that experience. + @Image(source: "placeholder", alt: "") + So, let's get some **work done**? -### Accessibility is one of Apple's core values + ## Mobile accessibility for iOS -@Image(source: "placeholder", alt: "") + First of all, let's get familiar with [**the subject**](). -Thanks to Apple's decision to protect **diversity** and invest to **accessibility** of their products, it is not a unworkable ordeal to create **accessible software** for iOS. + ### Accessibility is one of Apple's core values -@Image(source: "placeholder", alt: "") + @Image(source: "placeholder", alt: "") + Thanks to Apple's decision to protect **diversity** and invest to **accessibility** of their products, it is not a unworkable ordeal to create **accessible software** for iOS. -### Accessibility Features -It is so because **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: "") -@Image(source: "placeholder", alt: "") -### Supporting Accessibility Features -The task of adopting accessibility may be narrowed to **understanding the accessible functional** and knowing how to make it work **within applications**. + ### Accessibility Features + It is so because **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). -### Interface tailoring + @Image(source: "placeholder", alt: "") -To support **assistive technology** in your app its interface has to be comprehensible for **accessibility API**. + ### Supporting Accessibility Features + The task of adopting accessibility may be narrowed to **understanding the accessible functional** and knowing how to make it work **within applications**. -@Image(source: "placeholder", alt: "") + ### Interface tailoring -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**. Again, **there is no real accessibility if not intended**. + To support **assistive technology** in your app its interface has to be comprehensible for **accessibility API**. -@Image(source: "placeholder", alt: "") + @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. + 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**. Again, **there is no real accessibility if not intended**. -This way **accessibility integration is about providing additional data about the interface elements in the code**. + @Image(source: "placeholder", alt: "") -### UIKit and SwiftUI + 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. -@Image(source: "placeholder", alt: "") + This way **accessibility integration is about providing additional data about the interface elements in the code**. -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. + ### UIKit and SwiftUI -@Image(source: "placeholder", alt: "") + @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. + 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: "") + @Image(source: "placeholder", alt: "") -### -- But what about accessible design? + 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: "") + @Image(source: "placeholder", alt: "") -Once the foundation, which is required **skills** and **tools** to construct **accessible interfaces**, is set there is [**accessibility design**](). It is just important **to not exclude people** by *inconvenient* accessible design as to *enable* possibility to use the product with support of assistive technology. + ### -- But what about accessible design? -### -- Ok. So accessible UI, accessible UX. + @Image(source: "placeholder", alt: "") -Kind of. But *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, there is [**Enterprise**]() volume of the book. It tells how to *apply* your knowledge on a **bigger scale**. + Once the foundation, which is required **skills** and **tools** to construct **accessible interfaces**, is set there is [**accessibility design**](). It is just important **to not exclude people** by *inconvenient* accessible design as to *enable* possibility to use the product with support of assistive technology. -@Links(visualStyle: compactGrid) { - - - - - - -} + ### -- Ok. So accessible UI, accessible UX. -## Accessibility Integration Strategy + Kind of. But *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, there is [**Enterprise**]() volume of the book. It tells how to *apply* your knowledge on a **bigger scale**. -Well, enough talking. We know what job awaits, time to get some **work** done. + @Links(visualStyle: compactGrid) { + - + - + - + } -### iOS Accessibility Guide -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**. + ## Accessibility Integration Strategy -@Image(source: book-content, alt: "") + Well, enough talking. We know what job awaits, time to get some **work** done. -The *whole* curriculum is located at the [**table of contents**](). + ### iOS Accessibility Guide + 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: roadmap, alt: "") + @Image(source: book-content, alt: "") -To start right with **practicing** something new, go to the [**basic**]() or the [**advanced**]() level **heading pages**, according to *what* you want to learn. That's it for now. + The *whole* curriculum is located at the [**table of contents**](). -## Have fun! + @Image(source: roadmap, alt: "") + To start right with **practicing** something new, go to the [**basic**]() or the [**advanced**]() level **heading pages**, according to *what* you want to learn. That's it for now. + + ## Have fun! +} diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/iOS Accessibility/AccessibilityInCode.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/iOS Accessibility/AccessibilityInCode.md index 9feea7c..952baf4 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/iOS Accessibility/AccessibilityInCode.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/iOS Accessibility/AccessibilityInCode.md @@ -7,7 +7,7 @@ How accessibility is **programmed** @TitleHeading("Same Result, Different Means") @PageImage( purpose: icon, - source: "swift-icon", + source: "code-icon", alt: "") @PageImage( purpose: card, diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/iOS Accessibility/iOSAccessibility.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/iOS Accessibility/iOSAccessibility.md index 0e2e59e..188a579 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/iOS Accessibility/iOSAccessibility.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Introduction/Theory/iOS Accessibility/iOSAccessibility.md @@ -7,7 +7,7 @@ An **introduction** to accessibility on iOS @TitleHeading("Technology for Everyone") @PageImage( purpose: icon, - source: "apple-icon", + source: "ios-icon", alt: "") @PageImage( purpose: card, diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/iOSAccessibilityHandbook.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/iOSAccessibilityHandbook.md index b85e440..402f2e1 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/iOSAccessibilityHandbook.md +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/iOSAccessibilityHandbook.md @@ -10,6 +10,7 @@ Make your iOS applications **accessible** } @Metadata { + @PageColor(blue) @DisplayName("iOS Accessibility Handbook") @TitleHeading("An educational resource") @@ -17,7 +18,10 @@ Make your iOS applications **accessible** purpose: icon, source: "book-icon", alt: "") - @PageColor(blue) + @CallToAction( + url: "https://www.apple.com/accessibility/", + purpose: link, + label: "General Knowledge") } ## Welcome to iOS Accessibility Handbook diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/a11y-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/a11y-icon.png deleted file mode 100644 index d3c0fec..0000000 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/a11y-icon.png and /dev/null differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/aa-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/aa-icon.png index b3eb30a..bc0f792 100644 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/aa-icon.png and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/aa-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/af-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/af-icon.png index fc67930..638b92a 100644 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/af-icon.png and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/af-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/at-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/at-icon.png index acd7f01..5afb9f1 100644 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/at-icon.png and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/at-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/code-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/code-icon.png new file mode 100644 index 0000000..9a3900e Binary files /dev/null and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/code-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/credits-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/credits-icon.png index 6fec874..f88a9e4 100644 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/credits-icon.png and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/credits-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/dt-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/dt-icon.png index 9795994..1e6aa6f 100644 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/dt-icon.png and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/dt-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/fka-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/fka-icon.png index 45513e5..515cd5e 100644 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/fka-icon.png and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/fka-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/ga-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/ga-icon.png index 33155e9..5897a50 100644 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/ga-icon.png and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/ga-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/glossary-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/glossary-icon.png index 52b10bb..deb4c0d 100644 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/glossary-icon.png and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/glossary-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/ios-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/ios-icon.png new file mode 100644 index 0000000..1326a91 Binary files /dev/null and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/ios-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/sc-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/sc-icon.png index faeca22..a98a5d9 100644 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/sc-icon.png and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/sc-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/terms-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/terms-icon.png new file mode 100644 index 0000000..347896a Binary files /dev/null and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/terms-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/vc-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/vc-icon.png index aeb913b..b2a57d9 100644 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/vc-icon.png and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/vc-icon.png differ diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/vo-icon.png b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/vo-icon.png index ec4d20c..fa91c1b 100644 Binary files a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/vo-icon.png and b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Resources/introduction/icons/vo-icon.png differ