From 4ef3932af5d0031abe643c0b7fa81b63ebd18e71 Mon Sep 17 00:00:00 2001 From: "C." Date: Sun, 7 Apr 2024 10:07:16 +0300 Subject: [PATCH] since there are articles now refactoring is coming ty --- ...rategy.tutorial => AdoptionGuide.tutorial} | 42 ++++++++-- .../Adaption/Advanced/AccessibleUX.tutorial | 16 ++++ .../Adaption/Advanced/AdvancedTechniques.md | 28 ------- .../Adaption/Basic/AccessibleUI.tutorial | 66 +++++++++++++++ .../Pages/Adaption/Basic/BasicTechniques.md | 80 ------------------- ...lityAdaption.md => MobileAccessibility.md} | 0 .../Pages/Article.tutorial | 5 -- 7 files changed, 118 insertions(+), 119 deletions(-) rename Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/{AdaptionStrategy.tutorial => AdoptionGuide.tutorial} (81%) create mode 100644 Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AccessibleUX.tutorial delete mode 100644 Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AdvancedTechniques.md create mode 100644 Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Basic/AccessibleUI.tutorial delete mode 100644 Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Basic/BasicTechniques.md rename Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/{AccessibilityAdaption.md => MobileAccessibility.md} (100%) delete mode 100644 Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Article.tutorial diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AdaptionStrategy.tutorial b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AdoptionGuide.tutorial similarity index 81% rename from Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AdaptionStrategy.tutorial rename to Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AdoptionGuide.tutorial index 969bd2f..64bbdf9 100644 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AdaptionStrategy.tutorial +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AdoptionGuide.tutorial @@ -1,4 +1,4 @@ -@Tutorials(name: "AdaptionStrategy") { +@Tutorials(name: "AdoptionGuide") { @Intro(title: "iOS Accessibility Adoption Guide") { Here is the **roadmap** of what one can do to make their application *accessible*. @@ -10,7 +10,7 @@ @Links(visualStyle: detailedGrid) { - - - + - } Otherwise you may start straight from the first guide or a tutorial of your particular interest — the separated materials are *self-sufficient*. @@ -26,7 +26,7 @@ @Image(source: chapter-placeholder.png, alt: "") Provide a **detailed description** to everything in the interface so assistive technologies know how to deal with it. - + @TutorialReference(tutorial: "doc:AccessibleUI") @TutorialReference(tutorial: "doc:AccessibilityAttributes") @TutorialReference(tutorial: "doc:Traits") @TutorialReference(tutorial: "doc:Frame") @@ -39,8 +39,6 @@ Think over the **goals** users have to be able to achieve using your app to enable them to do it. @TutorialReference(tutorial: "doc:ControlHierarchy") - @TutorialReference(tutorial: "doc:Article") - } @@ -66,7 +64,7 @@ @Image(source: chapter-placeholder.png, alt: "") **Describe the interface** to that extent so accessibility API and its users has **less ambiguity in its interpretation**. - + @TutorialReference(tutorial: "doc:AccessibleUX") @TutorialReference(tutorial: "doc:AccessibleCharts") @TutorialReference(tutorial: "doc:AccessibleListening") @TutorialReference(tutorial: "doc:AccessibleReading") @@ -153,4 +151,36 @@ } } + @Resources { + Explore more resources for learning about sloths. + + @Documentation(destination: "https://www.example.com/sloth-videos/") { + + Watch cute videos of sloths climbing, eating, and sleeping. + - [Treetop Breakfast](https://www.example.com/sloth-videos/breakfast/) + + } + @Forums(destination: "https://www.example.com/sloth-videos/") { + Watch cute videos of sloths climbing, eating, and sleeping. + + } + @SampleCode(destination: "https://www.example.com/sloth-videos/") { + Watch cute videos of sloths climbing, eating, and sleeping. + - [Treetop Breakfast](https://www.example.com/sloth-videos/breakfast/) + + } + @Videos(destination: "https://www.example.com/sloth-videos/") { + Watch cute videos of sloths climbing, eating, and sleeping. + + + - [Treetop Breakfast](https://www.example.com/sloth-videos/breakfast/) + - [Slow Ascent](https://www.example.com/sloth-videos/climb/) + - [Rest Time](https://www.example.com/sloth-videos/snoozing/) + } + + + @Downloads(destination: "https://www.example.com/images/sloth-wallpaper/") { + Download the cutest sloth wallpaper for your iPhone, iPad, or Mac. + } + } } diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AccessibleUX.tutorial b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AccessibleUX.tutorial new file mode 100644 index 0000000..f1bfcd1 --- /dev/null +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AccessibleUX.tutorial @@ -0,0 +1,16 @@ +@Article(time: 35) { + + @Intro(title: "Enhancing Accessible Experience") { + @Image(source: placeholder-image, alt: "") + } + + ## Зачин для интро + + ## Про недостаточность предыдущей части книги + + ## Про юзер эксп дизайн + + ## Про софистикейтед текнолоджи типа ротор с ссылками на наши статьи + + ## Направить на туториалы +} diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AdvancedTechniques.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AdvancedTechniques.md deleted file mode 100644 index 7f84e31..0000000 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Advanced/AdvancedTechniques.md +++ /dev/null @@ -1,28 +0,0 @@ -# Enhancing Accessible Experience - -@Metadata { - @PageColor(blue) - @TitleHeading("Accessible Experience") - @PageImage( - purpose: icon, - source: "sparkles", - alt: "") - @PageImage( - purpose: card, - source: "placeholder-image", - alt: "") - @CallToAction( - url: "https://www.apple.com/accessibility/", - purpose: link, - label: "Advanced Techniques") -} - -## Зачин для интро - -## Про недостаточность предыдущей части книги - -## Про юзер эксп дизайн - -## Про софистикейтед текнолоджи типа ротор с ссылками на наши статьи - -## Направить на туториалы diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Basic/AccessibleUI.tutorial b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Basic/AccessibleUI.tutorial new file mode 100644 index 0000000..e145294 --- /dev/null +++ b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Basic/AccessibleUI.tutorial @@ -0,0 +1,66 @@ +@Article(time: 30) { + + @Intro(title: "Create Accessible Interface") { + + 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. + + 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. + + 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. + + ### 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. + + | 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. + + ## 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. + + ## 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. + + 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: "") + + ## Introduction + ## Interface's data exposure + ## Paving new trails + + + + + ## Have fun! + + + @Links(visualStyle: detailedGrid) { + - + - + } +} diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Basic/BasicTechniques.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Basic/BasicTechniques.md deleted file mode 100644 index 13608ad..0000000 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/Basic/BasicTechniques.md +++ /dev/null @@ -1,80 +0,0 @@ -# Create Accessible Interface - -A humble UI crash course - -@Metadata { - @PageColor(blue) - @TitleHeading("Accessible Interface") - @PageImage( - purpose: icon, - source: "elements", - alt: "") - @PageImage( - purpose: card, - source: "placeholder-image", - alt: "") - @CallToAction( - url: "https://www.apple.com/accessibility/", - purpose: link, - label: "General Knowledge") -} - -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. - -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. - -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**. - -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 | - -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. - -### 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. - -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: - -@Image(source: book-content, alt: "") - -## Introduction -## Interface's data exposure -## Paving new trails - - - - -## Have fun! - - -@Links(visualStyle: detailedGrid) { - - - - -} diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AccessibilityAdaption.md b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/MobileAccessibility.md similarity index 100% rename from Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/AccessibilityAdaption.md rename to Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Adaption/MobileAccessibility.md diff --git a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Article.tutorial b/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Article.tutorial deleted file mode 100644 index fc8bb18..0000000 --- a/Sources/iOSAccessibilityHandbook/iOSAccessibilityHandbook.docc/Pages/Article.tutorial +++ /dev/null @@ -1,5 +0,0 @@ -@Article(time: 20) { - @Intro(title: String) { - - } -}