The web is accessible by default, but it doesn’t take a lot to produce inaccessible websites. In this talk, Hidde will show six aspects that can make a difference, to help you build sites that can be used by more people. From hiding content to focus management, these are some ways to get started on improving accessibility.
This page has much more information about how browsers decide what a thing's accessible name is computed to.
A post (sorry, my own) that explains how to trap focus in any element, useful for trapping focus inside a modal.
Example video on Fronteers.nl, view its source to see how it is done.