Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Build & Test Accessible Web Apps | Testing Accessibility (PRO), а также все другие курсы, прямо сейчас!
Премиум
  • Урок 1. 00:02:32
    1.1.1. Introduction to Testing Accessibility
  • Урок 2. 00:01:26
    1.1.2.1. What is Digital Accessibility
  • Урок 3. 00:03:14
    1.1.2.2. Accessibility is...
  • Урок 4. 00:01:16
    1.1.2.3. Inaccessibility is Discrimination in Practice
  • Урок 5. 00:03:23
    1.1.2.4. Accessibility for Businesses
  • Урок 6. 00:01:55
    1.1.2.5. Accessibility for Society
  • Урок 7. 00:01:44
    1.1.3.1. Accessibility as a Moral Case
  • Урок 8. 00:01:14
    1.1.3.2. Accessibility as a Business Case
  • Урок 9. 00:04:03
    1.1.3.3. The Legal Situation
  • Урок 10. 00:00:54
    1.1.4.1. Introducing Terms
  • Урок 11. 00:07:35
    1.1.4.2. Markup & Code Definitions
  • Урок 12. 00:13:52
    1.1.4.3. Browsers, Apps, and Tools
  • Урок 13. 00:00:50
    1.1.5.1. What Makes a Website Accessible
  • Урок 14. 00:06:41
    1.1.5.2. Inclusive & Intuitive Design
  • Урок 15. 00:03:52
    1.1.5.3. HTML Headings
  • Урок 16. 00:01:51
    1.1.5.4. Landmarks
  • Урок 17. 00:03:48
    1.1.5.5. Semantic Elements
  • Урок 18. 00:04:03
    1.1.5.6. VideoText Alternatives
  • Урок 19. 00:07:04
    1.1.5.7. Forms
  • Урок 20. 00:04:38
    1.1.5.8. Interactivity Goes Beyond the Mouse
  • Урок 21. 00:01:16
    1.1.6. Accessibility needs all of us.
  • Урок 22. 00:02:32
    2.1.1.1. Workshop Overview
  • Урок 23. 00:03:00
    2.1.1.2. WCAG Overview
  • Урок 24. 00:02:34
    2.2.1.1. Inaccessible Brand Colors Video
  • Урок 25. 00:00:40
    2.2.1.2. Mobile Accessibility Issues Video
  • Урок 26. 00:01:13
    2.2.1.3. Icon Buttons without Text Labels Video
  • Урок 27. 00:02:06
    2.2.1.4. Embedded Content with Accessibility Problems Video
  • Урок 28. 00:04:59
    2.2.1.5. Accessibility Overlay Solutions
  • Урок 29. 00:03:19
    2.2.2.1. “Shifting Left” in the Software Development Lifecycle Video
  • Урок 30. 00:01:40
    2.2.2.2. Disability Impacts All of Us Video
  • Урок 31. 00:02:40
    2.2.2.3. Test User Interfaces with People with Disabilities Video
  • Урок 32. 00:05:20
    2.2.3.1. Solution Find Accessibility Issues using Keyboard-Only Navigation
  • Урок 33. 00:05:04
    2.2.3.2. Solution Find Low Contrast Ratio Issues using Chrome DevTools
  • Урок 34. 00:01:48
    2.2.3.3. Lesson Recap
  • Урок 35. 00:04:25
    2.2.4. Identifying Accessibility Bias Video
  • Урок 36. 00:07:24
    2.3.1.1. Pattern Libraries & Style Guides Video
  • Урок 37. 00:03:57
    2.3.1.2. Building Blocks of Digital Design Systems Video
  • Урок 38. 00:05:02
    2.3.2.1. Notes on Interactivity Video
  • Урок 39. 00:03:05
    2.3.2.2. Affordances in Interaction Design Video
  • Урок 40. 00:02:45
    2.3.3.1. Introduction to Design Review
  • Урок 41. 00:03:11
    2.3.3.2. Find Color Contrast Issues Video
  • Урок 42. 00:03:55
    2.3.3.3. Find Iconography and Label Issues
  • Урок 43. 00:03:36
    2.3.3.4. Find Content Layout Issues Video
  • Урок 44. 00:01:44
    2.3.4. Accessibility Feedback Loop
  • Урок 45. 00:02:56
    2.4.1. Using Animation & Motion Safely Video
  • Урок 46. 00:03:37
    2.4.2. Prefers Reduced Motion Video
  • Урок 47. 00:03:25
    2.4.3. WCAG Criteria Video
  • Урок 48. 00:04:01
    2.4.4.1. Identify Accessibility Issues Related to Motion Video
  • Урок 49. 00:05:29
    2.4.4.2. Add Prefers Reduced Motion to a Video
  • Урок 50. 00:06:33
    2.4.4.3. Add Prefers Reduced Motion to an SVG Video
  • Урок 51. 00:03:39
    2.5.1. Review of Testing ToolsProcesses
  • Урок 52. 00:03:44
    2.5.2. Using WCAG in an Organization
  • Урок 53. 00:05:46
    2.5.3.1. Finding an Answer to a Problem Demo Video
  • Урок 54. 00:08:49
    2.5.3.2. Solution Finding an Answer to a Problem
  • Урок 55. 00:04:40
    2.6.1.1. Creating a Culture of Accessibility Video
  • Урок 56. 00:06:40
    2.6.1.2. Design Ableism Out of Systems
  • Урок 57. 00:06:53
    2.6.1.3. Qualities For Creating a Culture of Accessibility
  • Урок 58. 00:05:03
    2.6.2.1. Scoping Accessibility Issues Video
  • Урок 59. 00:06:55
    2.6.2.2. Prioritizing Accessibility Issues Video
  • Урок 60. 00:07:23
    2.6.3.1. Qualify and Quantify an Accessibility Issue Video
  • Урок 61. 00:04:36
    2.6.3.2. Encourage a More Descriptive Issue Policy Video
  • Урок 62. 00:01:17
    2.6.4. Parting Thoughts Video
  • Урок 63. 00:08:09
    3.1.1. Intro & Setup
  • Урок 64. 00:02:28
    3.2.1.1. Find Issues by Hitting Tab
  • Урок 65. 00:06:02
    3.2.1.2. Investigating Issues by Hitting Tab
  • Урок 66. 00:04:21
    3.2.2.1. Fix CSS Outline
  • Урок 67. 00:03:49
    3.2.2.2. Change MegaNav divs to buttons
  • Урок 68. 00:02:17
    3.2.2.3. Update MegaNav Button Styling
  • Урок 69. 00:02:25
    3.2.2.4. Hide Submenus with CSS
  • Урок 70. 00:06:03
    3.2.2.5. More Menu CSS Updates
  • Урок 71. 00:05:18
    3.2.3.1. Toggle the Active Class with JavaScript
  • Урок 72. 00:06:34
    3.2.3.2. Escape Key Handling
  • Урок 73. 00:02:32
    3.2.3.3. Focus Management on Menu Close
  • Урок 74. 00:03:24
    3.2.4. Fixing Button Focus
  • Урок 75. 00:06:13
    3.3.1.1. Checking Color Contrast in Chrome DevTools
  • Урок 76. 00:02:46
    3.3.1.2. Fix MegaNav Contrast Issues
  • Урок 77. 00:01:28
    3.3.2. Add Image Alt Description & Check in the Accessibility Tree
  • Урок 78. 00:02:45
    3.3.3.1. Running Lighthouse
  • Урок 79. 00:07:07
    3.3.3.2. Scanning the Homepage with Axe DevTools
  • Урок 80. 00:01:34
    3.3.4. Checking Heading Structure with the Web Developer Toolbar
  • Урок 81. 00:01:21
    3.3.5.1. Fixing the Discernible Button Text Issue
  • Урок 82. 00:03:05
    3.3.5.2. More axe Issue Identification
  • Урок 83. 00:05:11
    3.3.5.3. Issue Fixing
  • Урок 84. 00:02:27
    3.3.6.1. More Changes
  • Урок 85. 00:03:07
    3.3.6.2. Heading and Landmark Fixes
  • Урок 86. 00:01:53
    3.3.6.3. Checking Work
  • Урок 87. 00:01:00
    3.3.6.4. Checking in Lighthouse Again
  • Урок 88. 00:05:31
    3.3.6.5. Heading Order
  • Урок 89. 00:01:07
    3.3.6.6. Last Lighthouse Check
  • Урок 90. 00:03:30
    3.4.1.1. Examining Browser Zoom Behavior
  • Урок 91. 00:01:29
    3.4.1.2. Looking at WCAG 1.4.10 - Reflow
  • Урок 92. 00:04:04
    3.4.2.1. Making Changes in the Browser
  • Урок 93. 00:01:41
    3.4.2.2. Fixing the Viewport Meta Tag
  • Урок 94. 00:01:51
    3.4.3.1. Update Menu Reflow & Troubleshooting
  • Урок 95. 00:05:09
    3.4.3.2. Update Layout Styles
  • Урок 96. 00:03:33
    3.4.3.3. Fix the 3 Cards Section
  • Урок 97. 00:03:16
    3.4.3.4. Fix the Header
  • Урок 98. 00:02:08
    3.4.3.5. Check it out on mobile
  • Урок 99. 00:02:04
    3.4.3.6. Checking work
  • Урок 100. 00:01:24
    3.4.3.7. Zoom Wrap-Up
  • Урок 101. 00:08:02
    3.5.1. An Overview of Screen Reader Software
  • Урок 102. 00:05:17
    3.5.2.1. VoiceOver Demo
  • Урок 103. 00:05:54
    3.5.2.2. VoiceOver Navigation
  • Урок 104. 00:04:13
    3.5.2.3. Testing VoiceOver after Improving MegaNav
  • Урок 105. 00:01:36
    3.5.2.4. Testing VoiceOver after Improving Form Structure
  • Урок 106. 00:10:13
    3.5.3.1. Update the MegaNav Structure for Better VoiceOver Experience
  • Урок 107. 00:03:56
    3.5.3.2. Update CSS for MegaNav and Menu Items
  • Урок 108. 00:02:16
    3.5.3.3. Update Heading Structure in the MegaNav
  • Урок 109. 00:04:13
    3.5.3.4. Check Work in Safari
  • Урок 110. 00:02:39
    3.5.3.5. Update Form Semantics
  • Урок 111. 00:01:36
    3.5.3.6. Check Forms with VoiceOver
  • Урок 112. 00:01:36
    4.1.1. Workshop Overview
  • Урок 113. 00:00:56
    4.1.2. Project Overview
  • Урок 114. 00:01:41
    4.1.3. Application Interface Overview
  • Урок 115. 00:01:49
    4.1.4. React as an Abstraction
  • Урок 116. 00:02:33
    4.1.5. Listings Page Overview
  • Урок 117. 00:01:05
    4.1.6. Component Listing Excerpt Overview
  • Урок 118. 00:02:08
    4.1.7. Listing Detail Page Overview
  • Урок 119. 00:01:27
    4.1.8. Date Picker Component Overview
  • Урок 120. 00:04:07
    4.2.1. Analyze Heading Structure
  • Урок 121. 00:02:10
    4.2.2.1. Add Heading Structure to Page Listing Detail
  • Урок 122. 00:01:01
    4.2.2.2. Adding Headers to Build Page Structure
  • Урок 123. 00:01:30
    4.2.2.3. Analyze New Page Listing Detail Heading Structure
  • Урок 124. 00:02:12
    4.2.3.1. Introducing the HeaderPortal Component
  • Урок 125. 00:03:27
    4.2.3.2. Solution Add an H1 with React Portal
  • Урок 126. 00:04:07
    4.2.4.1. Intro to Semantic Landmarks and Axe DevTools
  • Урок 127. 00:06:45
    4.2.4.2. Implement Top Level Landmarks
  • Урок 128. 00:05:34
    4.2.5. Solution Implement Semantic Landmarks in Page Listing Detail
  • Урок 129. 00:05:29
    4.2.6. Check Current Page Accessibility with Voice Over
  • Урок 130. 00:03:27
    4.2.7. Explore More Semantic Landmark Element Options
  • Урок 131. 00:03:53
    4.2.8. About the React Portal Header Solution
  • Урок 132. 00:07:05
    4.3.1. What Is ARIA and When to Use It
  • Урок 133. 00:04:07
    4.3.2. Analyze Date Picker and Add Implicit ARIA Roles
  • Урок 134. 00:08:40
    4.3.3.1. Add ARIA States, Roles, and Properties to the Date Picker
  • Урок 135. 00:02:08
    4.3.3.2. Solution Add Implicit Roles to List Items
  • Урок 136. 00:07:28
    4.3.4. Test Date Picker Accessibility with a Screen Reader
  • Урок 137. 00:05:16
    4.4.1. What is an Accessible Name
  • Урок 138. 00:04:56
    4.4.2.1. Analyze the Home Page Search Feature for Accessible Names
  • Урок 139. 00:05:51
    4.4.2.2. Fix an SVG Icon Accessibility for Voice Over in Safari
  • Урок 140. 00:03:21
    4.5.1.1. Intro to Programmatic Accessibility
  • Урок 141. 00:08:13
    4.5.1.2. Convert the Grid of divs to an HTML Table
  • Урок 142. 00:01:57
    4.5.1.3. Label an HTML Table with aria-labelledby
  • Урок 143. 00:08:27
    4.5.2.1. Test out HTML Table Accessibility in Voice over
  • Урок 144. 00:06:16
    4.5.2.2. Test Our Date Picker with NVDA
  • Урок 145. 00:04:56
    4.6.1.1. What is the Accessibility Object Model (AOM)
  • Урок 146. 00:01:00
    4.6.1.2. Enable AOM in Chrome or Firefox
  • Урок 147. 00:05:15
    4.6.1.3. Explore AOM Properties vs. HTML Attributes through Attribute Reflection
  • Урок 148. 00:09:53
    4.6.2. Implement aria-current functionality with AOM as a Property
  • Урок 149. 00:07:12
    4.6.3. Implement aria-current in the MegaNav as an Attribute
  • Урок 150. 00:08:41
    4.6.4. Check aria-current with a Screen Reader and AOM as a Promising Technology
  • Урок 151. 00:01:46
    5.1.1.1. Workshop Overview
  • Урок 152. 00:05:09
    5.1.1.2. Project Overview
  • Урок 153. 00:03:07
    5.2.1.1. Overview and Issue Finding
  • Урок 154. 00:02:47
    5.2.1.2. Examining the Dropdown & Listings
  • Урок 155. 00:01:27
    5.2.2. An Overview of the ARIA Authoring Practices Guide
  • Урок 156. 00:03:11
    5.2.3.1. An Overview of the Component Sandbox
  • Урок 157. 00:02:28
    5.2.3.2. The Visually-hidden Technique
  • Урок 158. 00:01:27
    5.2.3.3. The Opacity Technique
  • Урок 159. 00:01:19
    5.2.3.4. The Display Technique
  • Урок 160. 00:01:05
    5.2.3.5. The Visibility Technique
  • Урок 161. 00:03:09
    5.2.3.6. The aria-hidden Technique
  • Урок 162. 00:02:04
    5.2.3.7. Debugging Visibility Techniques
  • Урок 163. 00:03:54
    5.2.4.1. Introducing the Skip Links Challenge
  • Урок 164. 00:01:47
    5.2.4.2. Implementing the SkipLinks Component
  • Урок 165. 00:01:59
    5.2.4.3. Adding the SkipLinks Component to the Header
  • Урок 166. 00:03:43
    5.2.4.4. Updating SkipLink Component Styling
  • Урок 167. 00:01:20
    5.3.1.1. Overview of Focus Management
  • Урок 168. 00:06:52
    5.3.1.2. Focus Management in the Component Sandbox
  • Урок 169. 00:01:50
    5.3.2.1. Roving Tabindex & Current Date Picker Behavior
  • Урок 170. 00:03:43
    5.3.2.2. Current DatePicker Markup & tabindex Plan of Attack
  • Урок 171. 00:04:12
    5.3.3.1. Updating the Date Picker to Track tabindex
  • Урок 172. 00:04:03
    5.3.3.2. Arrow Key Challenge Introduction
  • Урок 173. 00:07:52
    5.3.3.3. Using Refs & Writing the ArrowRight Key Handler
  • Урок 174. 00:07:50
    5.3.3.4. Implementing & Troubleshooting Arrow Key Handling
  • Урок 175. 00:04:56
    5.3.3.5. Overriding Browser Scrolling from Up and Down Arrows
  • Урок 176. 00:02:20
    5.3.4.1. Thoughts on Overriding Default Controls
  • Урок 177. 00:02:31
    5.3.4.2. Wrapping up Focus Management
  • Урок 178. 00:05:32
    5.4.1. Accessibility Information & Interactivity Issues in Screen Readers
  • Урок 179. 00:06:19
    5.4.2.1. VoiceOver Navigation with Tab & Arrow Keys
  • Урок 180. 00:03:15
    5.4.2.2. Navigation with the VoiceOver Rotor
  • Урок 181. 00:04:51
    5.4.3.1. Navigating with NVDA
  • Урок 182. 00:08:37
    5.4.3.2. Checking the Date Picker with NVDA
  • Урок 183. 00:01:27
    5.5.1.1. Intro to ARIA Live Regions
  • Урок 184. 00:05:42
    5.5.1.2. ARIA Live Region Roles
  • Урок 185. 00:05:38
    5.5.1.3. ARIA Live Region Properties
  • Урок 186. 00:02:00
    5.5.2.1. Lesson Introduction
  • Урок 187. 00:06:55
    5.5.2.2. Preparing to add a Live Region
  • Урок 188. 00:03:13
    5.5.2.3. Adding State & Writing the Submit Handler
  • Урок 189. 00:03:31
    5.5.2.4. Checking Progress in the Browser
  • Урок 190. 00:03:32
    5.5.2.5. Adding onChange Handlers to the Inputs
  • Урок 191. 00:03:23
    5.5.2.6. Form Updates
  • Урок 192. 00:03:30
    5.5.2.7. Checking Form Styling in the Browser
  • Урок 193. 00:06:47
    5.5.2.8. Solution Sending Focus to the First Invalid Field
  • Урок 194. 00:04:00
    5.5.2.9. Checking Focus Management & VoiceOver
  • Урок 195. 00:03:49
    5.5.2.10. Adding aria-required to Required Form Fields
  • Урок 196. 00:03:58
    5.5.2.11. Checking work in NVDA & Section Wrap-Up
  • Урок 197. 00:02:30
    5.6.1. Introduction to Advanced Scripting
  • Урок 198. 00:02:55
    5.6.2. Sortable List with the ARIA Application Role
  • Урок 199. 00:02:04
    5.6.3. Slideshow Overview
  • Урок 200. 00:07:52
    5.6.4. Solution Part 1 Updating Elements & Adding Keyboard Supportb
  • Урок 201. 00:05:37
    5.6.5. Adding a Live Region & Focus Management to the Slideshow
  • Урок 202. 00:03:44
    5.6.6.1. VideoSemantic Updates
  • Урок 203. 00:02:00
    5.6.6.2. Checking our work
  • Урок 204. 00:02:45
    6.1.1.1. Project Overview
  • Урок 205. 00:06:48
    6.1.1.2. CampSpots Project Tour
  • Урок 206. 00:07:48
    6.2.1. An Overview of Storybook
  • Урок 207. 00:09:48
    6.2.2.1. Storybook Story Structure
  • Урок 208. 00:05:03
    6.2.2.2. Adding a DropdownList Story to Storybook
  • Урок 209. 00:05:15
    6.3.1.1. An Overview of Unit Testing
  • Урок 210. 00:02:47
    6.3.1.2. Jest Configuration
  • Урок 211. 00:10:12
    6.3.2.1. Reading the Icon Test
  • Урок 212. 00:02:40
    6.3.2.2. Overview of the Icon Button
  • Урок 213. 00:09:27
    6.3.2.3. Writing the Keyboard Reachable & Operable Test
  • Урок 214. 00:03:12
    6.3.2.4. Solution Writing a Keyboard Reachability Test
  • Урок 215. 00:05:59
    6.3.3.1. Test 1 acts as one tab stop
  • Урок 216. 00:06:51
    6.3.3.2. VideoTest 2 Enables a Custom Field Amount
  • Урок 217. 00:05:15
    6.4.1.1. An Overview of Cypress Component Testing
  • Урок 218. 00:02:29
    6.4.1.2. Running Cypress Component Testing
  • Урок 219. 00:04:53
    6.4.2.1. Reading the Keyboard Operability Test
  • Урок 220. 00:04:06
    6.4.2.2. Fixing MegaNav Markup so Tests Pass
  • Урок 221. 00:04:06
    6.4.3.1. A First Pass at the “Submenu Should Not Be Reachable” Test
  • Урок 222. 00:02:38
    6.4.3.2. Fixing a Test that Passes When it Shouldn't
  • Урок 223. 00:01:12
    6.4.4.1. Testing with the cypress-axe Plugin
  • Урок 224. 00:01:44
    6.4.4.2. Checking Color Contrast with cypress-axe
  • Урок 225. 00:02:57
    6.5.1.1. Integration Testing with Cypress
  • Урок 226. 00:07:42
    6.5.1.2. Configuring & Running Cypress
  • Урок 227. 00:09:25
    6.5.2.1. Writing a Page-Level Test with cypress-axe
  • Урок 228. 00:02:43
    6.5.2.2. Updating Alt Descriptions
  • Урок 229. 00:05:29
    6.5.2.3. Updating Landmarks
  • Урок 230. 00:02:47
    6.5.2.4. Fixing the Button Name Issue
  • Урок 231. 00:07:06
    6.5.3. Implement aria-current Test
  • Урок 232. 00:05:34
    6.5.4.1. Write a Test for an Accessible Payment Dialog
  • Урок 233. 00:02:03
    6.5.4.2. Analyzing Test Results
  • Урок 234. 00:05:23
    6.5.4.3. Implement and Pass Dialog Test
  • Урок 235. 00:02:46
    6.5.4.4. Focus Management and Inert Attribute
  • Урок 236. 00:01:56
    6.5.5.1. Preparing the Routing Tests
  • Урок 237. 00:01:24
    6.5.5.2. Use React Helmet to Dynamically Set Page Titles
  • Урок 238. 00:05:38
    6.5.5.3. Client-Side Routing Thoughts
  • Урок 239. 00:03:20
    6.5.5.4. Start Page Change Test
  • Урок 240. 00:01:36
    6.6.1.1. Puppeteer Overview
  • Урок 241. 00:01:52
    6.6.1.2. The Accessibility Tree in DevTools
  • Урок 242. 00:02:41
    6.6.1.3. An Alternative View of the Accessibility Tree
  • Урок 243. 00:01:11
    6.6.2.1. Project Overview
  • Урок 244. 00:03:23
    6.6.2.2. Writing the Accessibility Tree Snapshot Test
  • Урок 245. 00:01:52
    6.6.2.3. Examining a Snapshot
  • Урок 246. 00:01:17
    6.6.2.4. Updating a Snapshot
  • Урок 247. 00:02:08
    6.7.1.1. Preparing for CI with GitHub Actions
  • Урок 248. 00:03:37
    6.7.1.2. Viewing CI Issues with GitHub Actions
  • Урок 249. 00:07:23
    6.7.1.3. Push Changes to Run Tests Again