Обучающие видео » Компьютерные видеоуроки и обучающие интерактивные DVD » Программирование (видеоуроки)
Accessibility in JavaScript ApplicationsГод выпуска: 2019
Производитель: frontendmasters.com
Сайт производителя:
https://frontendmasters.com/courses/javascript-accessibility/Автор: Marcy Sutton
Продолжительность: 4 hours, 6 minu
Тип раздаваемого материала: Видеоклипы
Язык: Английский
Описание: We can produce innovative and inclusive JavaScript-powered web apps! This course will teach you to remove barriers to access that might prevent people with disabilities from using a modern JavaScript web application. We’ll study accessibility in UI components, primarily with React and Gatsby.js, but with knowledge applicable to all JavaScript-heavy web stacks. Debug your sites for accessibility, manage keyboard focus, announce live updates to the page to screen readers, and use manual and automated testing to gain web accessibility superpowers!
Published: August 28, 2019
Course Slides
https://marcysutton.github.io/js-a11y-workshop/slides/Code Repo (GitHub)
https://github.com/marcysutton/js-a11y-workshopSpecial note Access to courses was provided by one of the rutracker users who wants to stay anonymous let's say all thanks to him, and i just downloaded it[spoiler="Содержание"]
Table of Contents
Introduction
Introduction
00:00:00 - 00:03:25
Introduction
Marcy Sutton introduces the course by offering a personal history of becoming involved in accessibility. -
https://marcysutton.github.io/js-a11y-workshop/slides/Course Overview
00:03:26 - 00:07:32
Course Overview
Marcy gives an overview of what the course will cover, and then discusses how to continually improve the skill of designing websites and web applications inclusively.
Course Materials Setup
00:07:33 - 00:14:34
Course Materials Setup
Marcy provides instruction for which accessibility tools to install, how to set up the course code, and walks through the structure of the course website. -
https://github.com/marcysutton/js-a11y-workshopTool Considerations
00:14:35 - 00:16:25
Tool Considerations
Marcy discusses the choice of which JavaScript framework to use, and whether or not to make designs responsive in the context of accessibility.
Debugging Accessibility
Steps for Debugging Accessibility
00:16:26 - 00:18:52
Steps for Debugging Accessibility
Marcy walks through a set of steps which can be taken to discover accessibility issues in websites. -
https://marcysutton.github.io/js-a11y-workshop/slides/Auditing Slack & GitHub
00:18:53 - 00:26:18
Auditing Slack & GitHub
Marcy walks through accessibility debugging for Slack and GitHub, and demonstrates how to navigate through elements of a page using only the keyboard. Axe is used in the developer console to further analyze issues.
Auditing Google Maps & NY Times
00:26:19 - 00:33:57
Auditing Google Maps & NY Times
Marcy debugs the Google Maps and NY Times websites, explains the benefits of having a cheat sheet available, and uses VoiceOver, the default screen reader on Macs, for testing.
Hidden vs Visible CSS Rules
00:33:58 - 00:38:47
Hidden vs Visible CSS Rules
Marcy demonstrates how different CSS properties can be used to hide content, including position, visibility, opacity, and display. Whether accessibility information is being passed through is considered for each.
Accessibility Tree
00:38:48 - 00:41:14
Accessibility Tree
Marcy explains how accessibility information is parsed by the web browser to produce a streamlined interface that can be used by screen readers.
Currently Focused Element
00:41:15 - 00:43:21
Currently Focused Element
Marcy presents a snippet of code that identifies the currently focused element by using the document.activeElement property and an event listener.
Accessibility Debugging: Practice Problems
00:43:22 - 00:50:40
Accessibility Debugging: Practice Problems
Marcy presents a set of practice problems focused on the discovery of accessibility issues in websites.
Accessibility Debugging Q&A
00:50:41 - 00:52:32
Accessibility Debugging Q&A
Marcy fields a question on magnification and encourages students to celebrate examples of highly accessible websites.
Focus Management
Focus Management & tabindex
00:52:33 - 01:00:00
Focus Management & tabindex
Marcy describes the main building blocks of focus management, introducing tabindex, an HTML attribute that determines whether an element is focusable. -
https://marcysutton.github.io/js-a11y-workshop/slides/Focus Events
01:00:01 - 01:02:34
Focus Events
Marcy demonstrates how to make custom controls interactive by adding focus events, and analyzes the choice of HTML elements when planning out interactive parts of a page.
ARIA Overview
01:02:35 - 01:04:07
ARIA Overview
Marcy discusses situations when using the ARIA APIs for accessibility analysis would be worthwhile, defining role, state, and property in relation to the specifications.
Focus Management Patterns
01:04:08 - 01:08:42
Focus Management Patterns
Marcy introduces focus management patterns by discussing methods of handling modal layer, widget interaction, link, and button patterns.
Visible Focus Styles
01:08:43 - 01:11:12
Visible Focus Styles
Marcy stresses the importance of not suppressing outline styles on focus, instead advocating for usage of the focus-visible CSS selector and What Input JS.
CSS in JS
01:11:13 - 01:12:04
CSS in JS
Marcy promotes the method of adding stable CSS class names in order to lower the barrier for users who want to create custom stylesheets.
Coding an Accessible Dropdown
01:12:05 - 01:23:42
Coding an Accessible Dropdown
Marcy begins coding a dropdown that is accessible via the keyboard, identifying ways that the original dropdown is not accessible. -
https://github.com/marcysutton/js-a11y-workshopFocus Event Handling in the Dropdown
01:23:43 - 01:37:24
Focus Event Handling in the Dropdown
Marcy adds focus event handling to the dropdown to manage focus when navigating over links using only the keyboard.
Accessible Dropdown Exercise
01:37:25 - 01:39:40
Accessible Dropdown Exercise
Marcy instructs students to create an accessible dropdown component.
Routing
Routing & Skip Links
01:39:41 - 01:46:02
Routing & Skip Links
Marcy explains how adding skip links can make content and navigation more accessible when using a keyboard to navigate a website. -
https://marcysutton.github.io/js-a11y-workshop/slides/Coding a Skip Link: Creating the Component
01:46:03 - 01:56:52
Coding a Skip Link: Creating the Component
Marcy uses React and CSS in JS to create a skip link component for the course website, walking through accessibility choices along the way. -
https://github.com/marcysutton/js-a11y-workshopCoding a Skip Link: Wiring it Up
01:56:53 - 02:05:25
Coding a Skip Link: Wiring it Up
Marcy wires up the component for the skip link to the course website, demoing the skip link and explaining next steps after everything is connected.
Skip Links Exercise
02:05:26 - 02:08:26
Skip Links Exercise
Marcy instructs students to add focus handling to either a React or a vanilla.js skip link.
Skip Links Solution
02:08:27 - 02:11:30
Skip Links Solution
Marcy discusses one possible solution to the vanilla.js version of the exercise.
Announcements
Announcements with ARIA Live Regions
02:11:31 - 02:18:24
Announcements with ARIA Live Regions
Marcy demonstrates how to use live regions and announcements to notify users on assistive technology of an event without moving focus. -
https://marcysutton.github.io/js-a11y-workshop/slides/Coding a Live Region Component
02:18:25 - 02:25:52
Coding a Live Region Component
Marcy codes a live region form which will announce to the user when the form data is submitted, and encourages students to work on coding a live region form on their own. -
https://github.com/marcysutton/js-a11y-workshopProgressive Enhancement
Semantic HTML
02:25:53 - 02:31:46
Semantic HTML
Marcy lays out a set of steps for creating semantic HTML and offers tips for testing semantics on a page. -
https://marcysutton.github.io/js-a11y-workshop/slides/Unobtrusive Motion
02:31:47 - 02:41:51
Unobtrusive Motion
Marcy describes methods of making web animations more accessible, including the CSS media query prefers-reduced-motion, content warnings, and the JavaScript matchMedia method.
reduced-motion Exercise
02:41:52 - 02:44:02
reduced-motion Exercise
Marcy instructs students to experiment with making changes to CSS animations using reduced-motion. -
https://github.com/marcysutton/js-a11y-workshopProgressive Enhancement Overview
02:44:03 - 02:47:47
Progressive Enhancement Overview
Marcy discusses how progressive enhancement is used to prioritize core web page content, with added feature and presentation layers as the user's situation allows.
Coding a Progressive Enhancement Component
02:47:48 - 02:57:34
Coding a Progressive Enhancement Component
Marcy creates a component that is prepared for a lack of JavaScript in the browser, and then builds the course website to show the visual and source code differences between the page with and without JavaScript. -
https://github.com/marcysutton/js-a11y-workshopProgressive Enhancement Exercise
02:57:35 - 03:01:31
Progressive Enhancement Exercise
Marcy instructs students to modify a tab list using the practices of progressive enhancement to preserve the main functionality in the absence of JavaScript.
Progressive Enhancement Solution
03:01:32 - 03:09:21
Progressive Enhancement Solution
Marcy walks through the vanilla.js solution to the exercise.
Testing
Accessibility Testing Overview
03:09:22 - 03:16:38
Accessibility Testing Overview
Marcy gives an overview of the benefits and drawbacks of different approaches to testing for accessibility, going into detail about user testing, linting, and unit testing in particular. -
https://marcysutton.github.io/js-a11y-workshop/slides/Using a Testing Library
03:16:39 - 03:28:32
Using a Testing Library
Marcy uses the Jest framework along with a testing library to generate a test for the dropdown demo that checks whether a focusable button is rendered.
Running Tests & Firing Events
03:28:33 - 03:34:49
Running Tests & Firing Events
Marcy examines the script for running tests, runs tests, examines the test output, and modifies the test to fire an event that activates the dropdown. An existing test is modified to check on an additional accessibility concern.
Focus State Assertions
03:34:50 - 03:39:39
Focus State Assertions
Marcy demonstrates how to write an assertion to check whether the focus state is correct after the dropdown has been activated.
Unit Testing Exercise
03:39:40 - 03:40:58
Unit Testing Exercise
Marcy instructs students to create accessibility unit tests for either the Jest framework or the Jasmine framework.
Accessibility Integration Testing
03:40:59 - 03:49:51
Accessibility Integration Testing
Marcy discusses the reasons why integration and end-to-end testing are effective tools, and then goes over options for testing frameworks.
Testing Goals & Prebuilt Rules
03:49:52 - 03:54:08
Testing Goals & Prebuilt Rules
Marcy describes how using prebuilt accessibility rules can prevent having to take the time to stay up to date, and outlines goals for successfully testing web applications.
Coding Integration Tests
03:54:09 - 04:02:49
Coding Integration Tests
Marcy utilizes Cypress to test the skip link created earlier on in the course, checking that the focus is being sent to the skip link when the route changes. -
https://github.com/marcysutton/js-a11y-workshopContinuous Integration & Manual Testing
04:02:50 - 04:05:03
Continuous Integration & Manual Testing
Marcy demystifies continuous integration testing, encourages finding fun ways to automate testing practices, and advocates for manual accessibility testing in addition to the previously discussed methods.
Wrapping Up
Wrapping Up
04:05:04 - 04:06:54
Wrapping Up
Marcy concludes the course on accessibility in JavaScript by emphasizing the importance of user testing and discussing a conference on accessibility.
[/spoiler]
Файлы примеров: присутствуют
Формат видео: MP4
Видео: 1920x1080, 16:9, 23.98 fps, avg 1200 kb/s
Аудио: AAC, 48kHz, 127, stereo
[spoiler="Скриншоты"]

[/spoiler]