There are a few CSS techniques for hiding content visually while keeping it accessible to screen readers, but none of them are perfect — and in some cases may even be harmful.
@zellwk has put together a great round-up of the issues.
UPDATE! This approach has bugs. Best solution so far is by @_josephwatkins.
— Zell Liew 🤗 (@zellwk) April 25, 2019
I updated my article with my latest findings: https://t.co/UosivA8R5h https://t.co/Qk2Hzqye67