elementor / hello-theme

A plain-vanilla theme, best suited for building your site using Elementor plugin. This theme resets the environment and prepares it for smooth operation of Elementor.
https://elementor.com/hello-theme/
573 stars 229 forks source link

[accessibility] The skip link added in version 2.6.0. is dysfunctional #217

Open Bovelett opened 2 years ago

Bovelett commented 2 years ago

Here's the report I promised after the dialogue with @arielk on July 15:

I will be separating this in two parts: first the geek speak, then the consequences for non-technical users:

The skip link added in version 2.6.0 on July 10 has a couple of issues.

VIDEO WALK THROUGH OF THE ISSUES FOUND

It's not a long video, and I am announcing in the beginning what will be shown. ⬇️ https://user-images.githubusercontent.com/852140/179362286-02459a8b-e4ca-4b68-9a36-2922e8cade7d.mp4

The nerd speak

  1. It assumes there is a div called content. That div is there upon a fresh installation of the latest versions of Elementor and Elementor Pro. As in: <main id="content">. But as soon as I chose to edit a web page with Elementor from the WordPress Dashboard, that ID disappeared. And then the skip link is there for naught. [UPDATE July 21: see https://github.com/elementor/elementor/issues/19215 which explains that pages individually set to full width in Elementor do not have the <main id="content" anymore. This explains why I could never find this ID on my sites, and on that of many other Elementor Pro driven sites.]
  2. When a user is tech-savvy enough to figure out it's necessary to manually assign the content id, the next problem appears: It's jumping to content alright. But when you tab on, you return to the menu in the header, instead of going to the next focusable element. This is not a new issue, by the way. I think you will find this report an interesting read, as the cause for this (the handleAnchorLinks seems to be the culprit) was mentioned there: https://github.com/elementor/elementor/issues/9292#:~:text=such%20as%20Elementor%27s-,handleAnchorLinks,-)%20interrupt%20it. However, this was in reply after that issue had been closed. So, someone opened a new thread referring to this one, which still has the "open" status and is and unassigned: https://github.com/elementor/elementor/issues/17433 Although Rami did add the bug and accessibility label to it.

Consequences and suggestions:

As happy as I am with any improvement for accessible output, and I'm glad to see that a skip link is something you deem important, I'm worried about the implementation. Accessibility has an undeserved bad reputation as it is. People think accessibility will make their site ugly. This does not help that belief and people continue to be excluded from sites.

Currently:

Dear Elementor Team, if we all work together to make online accessibility with Elementor part of that no-coding solution, and thus available to all, the world will be a more inclusive and therefore better place. And in doing so you will be light years ahead of the competition. ❤️

With warm and respectful greetings,

Anne

zeinnicholas commented 2 years ago

+1

Vossha commented 2 years ago

+1

freckles615 commented 1 year ago

Still waiting on a fix for this. It's an accessibility failure and it matters.

Simpa77 commented 1 year ago

+1

lae-qguiraudie commented 1 year ago

+1 10 months after, still not fix... Wake up

jamieburchell commented 11 months ago

Does the current implementation assume that we will add an ID of "content" to one of the elements on the page? Or should it be handled automatically? Was I dreaming, or did Elementor used to output a <main> element, which seems like a logical place to put the ID?