elementor
elementor copied to clipboard
♿ Carousel pagination uses prohibited ARIA attributes
Prerequisites
- [X] I have searched for similar issues in open and closed tickets and cannot find a duplicate.
- [X] I have troubleshooted my issue, and it still exists against the latest stable version of Elementor.
Description
I have a page which uses the 2 different carousels, one is standard, the other is loop. They both have pagination turned on and I can see the pagination spans have aria-labels setup. When I use PageSpeed Insights I get an error in the accessibility section saying "Elements use prohibited ARIA attributes".
https://pagespeed.web.dev/analysis/https-newburyracecourse-co-uk/ytyxd1drqd?form_factor=desktop
This is the page: https://newburyracecourse.co.uk/
Steps to reproduce
- Create a page
- Create a carousel
- Run PageSpeed Insights
- Check for issues
Expected behavior
I expect there to not be an issue with aria-labels.
Isolating the problem
- [ ] This bug happens when only the Elementor (and Elementor Pro) plugins are active.
- [ ] This bug happens with the Hello Elementor theme active.
- [X] I can reproduce this bug consistently by following the steps I described above.
Elementor System Info
Click to reveal
== Server Environment ==
Operating System: Linux
Software: Apache/2.4.59 (Debian)
MySQL version: mariadb.org binary distribution v10.4.34
PHP Version: 8.1.28
PHP Memory Limit: 512M
PHP Max Input Vars: 10000
PHP Max Post Size: 100M
GD Installed: Yes
ZIP Installed: Yes
Write Permissions: All right
Elementor Library: Connected
== WordPress Environment ==
Version: 6.6.2
Site URL: https://newburyracecourse.co.uk
Home URL: https://newburyracecourse.co.uk
WP Multisite: No
Max Upload Size: 100 MB
Memory limit: 40M
Max Memory limit: 512M
Permalink Structure: /%postname%/
Language: en_GB
Timezone: Europe/London
Debug Mode: Active
== Theme ==
Name: Newbury Racecourse
Version: 1.0.0
Author: InDzine
Child Theme: Yes
Parent Theme Name: Astra
Parent Theme Version: 4.8.0
Parent Theme Author: Brainstorm Force
== User ==
Role: administrator
WP Profile lang: en-GB
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
== Active Plugins ==
ACF QuickEdit Fields
Version: 3.3.7
Author: Jörn Lund
Advanced Custom Fields: Font Awesome
Version: 4.1.1
Author: Matt Keys
Advanced Custom Fields PRO
Version: 6.3.6
Author: WP Engine
Astra Pro
Version: 4.8.0
Author: Brainstorm Force
Auto Image Attributes From Filename With Bulk Updater
Version: 4.4
Author: Arun Basil Lal
Better Search Replace
Version: 1.4.7
Author: WP Engine
Breeze
Version: 2.1.13
Author: Cloudways
Change Mail Sender
Version: 1.3.0
Author: WP Mail SMTP
Check & Log Email
Version: 2.0.1
Author: checkemail
Cloudflare
Version: 4.12.8
Author: Cloudflare, Inc.
Custom Adobe Fonts (Typekit)
Version: 1.0.18
Author: Brainstorm Force
Custom Fonts
Version: 2.1.6
Author: Brainstorm Force
Default featured image
Version: 1.7.3
Author: Jan Willem Oostendorp
Delete Expired Transients
Version: 2.0.7
Author: WebAware
Disable Gutenberg
Version: 3.1.2
Author: Jeff Starr
DynamicConditions
Version: 1.7.4
Author: RTO GmbH
Elementor
Version: 3.23.4
Author: Elementor.com
Elementor Pro
Version: 3.23.3
Author: Elementor.com
ElementsKit Lite
Version: 3.2.7
Author: Wpmet
Emage Hover Effects for Elementor
Version: 4.5.2
Author: Blocksera
Enable Media Replace
Version: 4.1.5
Author: ShortPixel
FacetWP
Version: 4.3.3
Author: FacetWP, LLC
FacetWP - Conditional Logic
Version: 1.5
Author: FacetWP, LLC
FacetWP - Elementor
Version: 1.9.2
Author: FacetWP, LLC
FacetWP - Flyout menu
Version: 0.8.3
Author: FacetWP, LLC
Feeds for YouTube Pro Basic
Version: 2.3.2
Author: Smash Balloon
Matterport Shortcode
Version: 2.2.2
Author: Julien Berthelot / MPEmbed.com
Max Mega Menu
Version: 3.3.2
Author: megamenu.com
Max Mega Menu - Pro Addon
Version: 2.4
Author: megamenu.com
Newbury Racecourse Elementor
Version: 1.0.0
Author: InDzine
Object Cache Pro
Version: 1.21.2
Author: Rhubarb Group
Permalink Manager Lite
Version: 2.4.4.1
Author: Maciej Bis
Post Types Order
Version: 2.2.6
Author: Nsp Code
Post Type Switcher
Version: 3.3.1
Author: Triple J Software, Inc.
Qi Addons for Elementor
Version: 1.7.8
Author: Qode Interactive
Redirection
Version: 5.5.0
Author: John Godley
Regenerate Thumbnails
Version: 3.1.6
Author: Alex Mills (Viper007Bond)
Solid Security Pro
Version: 8.5.0
Author: SolidWP
Temporary Login
Version: 1.2.0
Author: Elementor.com
The Plus Addons for Elementor
Version: 5.6.5
Author: POSIMYTH
The Plus Addons for Elementor - Pro
Version: 5.6.1
Author: POSIMYTH
Transients Manager
Version: 2.0.5
Author: WPBeginner
Ultimate Addons for Elementor
Version: 1.36.37
Author: Brainstorm Force
WP All Import - ACF Add-On
Version: 3.3.8
Author: Soflyy
WP All Import Pro
Version: 4.9.0
Author: Soflyy
WS Form PRO
Version: 1.9.245
Author: WS Form
WS Form PRO - Dotdigital
Version: 1.0.6
Author: WS Form
YIKES Simple Taxonomy Ordering
Version: 2.3.4
Author: YIKES, Inc.
Yoast Duplicate Post
Version: 4.5
Author: Enrico Battocchi & Team Yoast
Yoast SEO
Version: 23.4
Author: Team Yoast
Yoast Test Helper
Version: 1.18
Author: Team Yoast
== Features ==
Custom Fonts: 0
Custom Icons: 0
== Integrations ==
google_maps: Active
== Elementor Experiments ==
Improved CSS Loading: Active by default
Inline Font Icons: Active
Additional Custom Breakpoints: Active by default
Flexbox Container: Active
Grid Container: Active
Upgrade Swiper Library: Active
Nested Elements Performance: Active by default
Optimized Control Loading: Active
Optimized Markup: Inactive by default
Plugin Onboarding: Active by default
Default to New Theme Builder: Active
Elementor Home Screen: Active by default
Editor Top Bar: Inactive by default
Build with AI: Inactive
Landing pages: Inactive
Nested Elements: Active
Lazy Load Background Images: Active
Element Caching: Active
Link In Bio: Inactive
Floating Buttons: Inactive
Elementor Editor Events: Inactive by default
Display Conditions: Inactive
Form Submissions: Inactive
Menu: Active
Taxonomy Filter: Active
Search: Inactive
== Log ==
PHP: showing 14 of 14PHP: 2024-07-26 10:43:23 [warning X 19][../wp-content/plugins/elementor/modules/history/revisions-manager.php::363] Undefined array key "editor_post_id" [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2024-07-26 10:44:06 [warning X 3][../wp-content/plugins/elementor/includes/db.php::267] foreach() argument must be of type array|object, int given [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2024-08-01 11:59:44 [error X 1][../wp-content/plugins/elementor-pro/modules/global-widget/module.php::105] Uncaught TypeError: ElementorPro\Modules\GlobalWidget\Module::get_element_child_type(): Argument #1 ($default_child_type) must be of type Elementor\Element_Base, array given, called in ../wp-includes/class-wp-hook.php on line 326 and defined in ../wp-content/plugins/elementor-pro/modules/global-widget/module.php:105
Stack trace:
#0 ../wp-includes/class-wp-hook.php(326): ElementorPro\Modules\GlobalWidget\Module->get_element_child_type()
#1 ../wp-includes/plugin.php(205): WP_Hook->apply_filters()
#2 ../wp-content/plugins/elementor/includes/base/element-base.php(1500): apply_filters()
#3 ../wp-content/plugins/elementor/includes/base/element-base.php(369): Elementor\Element_Base->get_child_type()
#4 ../wp-content/plugins/elementor/includes/base/element-base.php(1527): Elementor\Element_Base->add_child()
#5 ../wp-content/plugins/elementor/includes/base/element-base.php(314): Elementor\Element_Base->init_children()
#6 ../wp-content/plugins/elementor/includes/base/element-base.php(597): Elementor\Element_Base->get_children()
#7 ../wp-content/plugins/elementor/includes/base/element-base.php(617): Elementor\Element_Base->get_raw_data()
#8 ../wp-content/plugins/elementor/core/base/document.php(1083): Elementor\Element_Base->get_data_for_save()
#9 ../wp-content/plugins/elementor/core/base/document.php(1346): Elementor\Core\Base\Document->get_elements_raw_data()
#10 ../wp-content/plugins/elementor/core/base/document.php(856): Elementor\Core\Base\Document->save_elements()
#11 ../wp-content/plugins/elementor/core/documents-manager.php(549): Elementor\Core\Base\Document->save()
#12 [internal function]: Elementor\Core\Documents_Manager->ajax_save()
#13 ../wp-content/plugins/elementor/core/common/modules/ajax/module.php(176): call_user_func()
#14 ../wp-includes/class-wp-hook.php(324): Elementor\Core\Common\Modules\Ajax\Module->handle_ajax_request()
#15 ../wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#16 ../wp-includes/plugin.php(517): WP_Hook->do_action()
#17 ../wp-admin/admin-ajax.php(192): do_action()
#18 {main}
thrown [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2024-08-02 10:10:19 [warning X 29][../wp-content/plugins/elementor/includes/managers/image.php::113] Trying to access array offset on value of type bool [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2024-08-06 11:38:45 [notice X 1608][../wp-content/plugins/elementor/includes/base/controls-stack.php::229] hexdec(): Passing null to parameter #1 ($hex_string) of type string is deprecated [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2024-08-06 11:55:23 [warning X 610][../wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php::150] Undefined array key "condition_type" [array (
'trace' => '
#0: ../wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php(150): Elementor\Core\Logger\Manager -> rest_error_handler()
#1: ElementorPro\Core\App\Modules\SiteEditor\Data\Endpoints\Templates -> normalize_template_json_item()
#2: ../wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php(120): class type array_map()
#3: ../wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php(59): ElementorPro\Core\App\Modules\SiteEditor\Data\Endpoints\Templates -> normalize_templates_json()
#4: ../wp-content/plugins/elementor/data/base/endpoint.php(158): ElementorPro\Core\App\Modules\SiteEditor\Data\Endpoints\Templates -> get_items()
',
)]
PHP: 2024-08-06 11:57:41 [warning X 60][../wp-content/plugins/elementor/core/files/css/base.php::783] Undefined array key "padding_mobile" [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2024-08-12 10:22:14 [notice X 1][../wp-content/plugins/elementor/includes/managers/image.php::102] Automatic conversion of false to array is deprecated [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2024-08-14 12:09:58 [warning X 1][../wp-content/plugins/elementor-pro/modules/dynamic-tags/acf/tags/acf-image.php::40] Undefined array key 1 [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2024-08-19 17:10:42 [warning X 2][../wp-content/plugins/elementor/core/common/modules/ajax/module.php::161] foreach() argument must be of type array|object, null given [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2024-08-29 11:15:58 [warning X 104][../wp-content/plugins/elementor/core/editor/data/globals/endpoints/colors.php::37] Undefined array key "color" [array (
'trace' => '
#0: ../wp-content/plugins/elementor/core/editor/data/globals/endpoints/colors.php(37): Elementor\Core\Logger\Manager -> rest_error_handler()
#1: ../wp-content/plugins/elementor/core/editor/data/globals/endpoints/base.php(23): Elementor\Core\Editor\Data\Globals\Endpoints\Colors -> get_kit_items()
#2: ../wp-content/plugins/elementor/data/v2/base/base-route.php(329): Elementor\Core\Editor\Data\Globals\Endpoints\Base -> get_items()
#3: ../wp-content/plugins/elementor/data/v2/base/base-route.php(233): Elementor\Data\V2\Base\Base_Route -> base_callback()
#4: ../wp-includes/rest-api/class-wp-rest-server.php(1230): Elementor\Data\V2\Base\Base_Route -> Elementor\Data\V2\Base\{closure}()
',
)]
PHP: 2024-08-29 11:23:03 [warning X 67][../wp-content/plugins/elementor/core/editor/data/globals/endpoints/colors.php::37] Undefined array key "color" [array (
'trace' => '
#0: Elementor\Core\Logger\Manager -> shutdown()
',
)]
PHP: 2024-08-29 15:21:29 [warning X 1][../wp-content/plugins/elementor/core/editor/data/globals/endpoints/colors.php::37] Undefined array key "color" [array (
'trace' => '
#0: ../wp-content/plugins/elementor/core/editor/data/globals/endpoints/colors.php(37): Elementor\Core\Logger\Manager -> rest_error_handler()
#1: ../wp-content/plugins/elementor/core/editor/data/globals/endpoints/base.php(31): Elementor\Core\Editor\Data\Globals\Endpoints\Colors -> get_kit_items()
#2: ../wp-content/plugins/elementor/data/v2/base/base-route.php(329): Elementor\Core\Editor\Data\Globals\Endpoints\Base -> get_item()
#3: ../wp-content/plugins/elementor/data/v2/base/base-route.php(233): Elementor\Data\V2\Base\Base_Route -> base_callback()
#4: ../wp-includes/rest-api/class-wp-rest-server.php(1230): Elementor\Data\V2\Base\Base_Route -> Elementor\Data\V2\Base\{closure}()
',
)]
PHP: 2024-09-11 14:18:22 [warning X 94][../wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php::150] Undefined array key "condition_type" [array (
'trace' => '
#0: ../wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php(150): Elementor\Core\Logger\Manager -> rest_error_handler()
#1: ElementorPro\Core\App\Modules\SiteEditor\Data\Endpoints\Templates -> normalize_template_json_item()
#2: ../wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php(120): class type array_map()
#3: ../wp-content/plugins/elementor-pro/core/app/modules/site-editor/data/endpoints/templates.php(59): ElementorPro\Core\App\Modules\SiteEditor\Data\Endpoints\Templates -> normalize_templates_json()
#4: ../wp-content/plugins/elementor/data/base/endpoint.php(158): ElementorPro\Core\App\Modules\SiteEditor\Data\Endpoints\Templates -> get_items()
',
)]
JS: showing 15 of 15JS: 2024-07-26 09:53:47 [error X 135][../wp-content/plugins/elementor/assets/js/common-modules.min.js?ver=3.23.3:2:56144] Model.isValidChild() should be implemented, please provide 'isValidChild' functionality.
JS: 2024-07-26 12:44:11 [error X 83][../wp-admin/post.php?post=26981&action=elementor:6:22] Cannot read properties of null (reading 'url')
JS: 2024-07-29 11:58:09 [error X 46][../wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2:28760] Cannot read properties of undefined (reading 'value')
JS: 2024-07-29 13:46:34 [error X 3][../wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.23.3:2:10877] Cannot read properties of undefined (reading 'autoplay')
JS: 2024-07-30 08:11:21 [error X 1][../wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.23.3:3:641060] Cannot read properties of undefined (reading 'isEditable')
JS: 2024-07-30 08:59:43 [error X 2][../wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.23.3:3:832463] Cannot read properties of undefined (reading 'toLowerCase')
JS: 2024-08-01 09:39:09 [error X 1][../wp-admin/post.php?post=24288&action=elementor:6:39] Cannot read properties of undefined (reading 'needHelpUrl')
JS: 2024-08-16 14:27:36 [error X 4][../wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.23.4:3:868925] Cannot convert undefined or null to object
JS: 2024-08-19 15:15:50 [error X 33][../wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.23.4:3:712932] this.model.isValidChild is not a function
JS: 2024-08-19 15:32:25 [error X 1][../wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2:28760] e.dispatchEvent is not a function
JS: 2024-08-28 10:16:48 [error X 1][../wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.23.4:3:663451] Cannot read properties of undefined (reading 'isDesignable')
JS: 2024-09-04 08:47:36 [error X 2][../wp-admin/load-scripts.php?c=0&loadchunk_0=jquery-core,jquery-migrate,utils,wp-hooks&ver=6.6.1:2:28767] undefined is not an object (evaluating 'c[0].value')
JS: 2024-09-05 14:20:18 [error X 7][../wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2:11763] Syntax error, unrecognized expression: .uael-grid-item.children's-kitchen [data-fancybox="uael-gallery"]
JS: 2024-09-06 14:43:03 [error X 1][../wp-content/plugins/emage-hover-effects-for-elementor/assets/js/editor.js?ver=4.5.2:148:47] Cannot set properties of undefined (setting 'selectedIndex')
JS: 2024-09-09 09:17:58 [error X 3][../wp-content/plugins/elementor/assets/js/0e842fae60df2bcb2a30.bundle.min.js:2:7789] Cannot read properties of null (reading 'dataset')
Log: showing 13 of 132024-07-29 14:44:28 [info] Elementor data updater process has been queued. [array (
'plugin' => 'Elementor Pro',
'from' => '3.23.1',
'to' => '3.23.2',
)]
2024-07-29 14:44:29 [info] elementor-pro::elementor_pro_updater Started
2024-07-29 14:44:29 [info] Elementor Pro/Upgrades - _on_each_version Start
2024-07-29 14:44:29 [info] Elementor Pro/Upgrades - _on_each_version Finished
2024-07-29 14:44:29 [info] Elementor data updater process has been completed. [array (
'plugin' => 'Elementor Pro',
'from' => '3.23.1',
'to' => '3.23.2',
)]
2024-08-06 11:35:07 [info] Elementor data updater process has been queued. [array (
'plugin' => 'Elementor',
'from' => '3.23.3',
'to' => '3.23.4',
)]
2024-08-06 11:35:09 [info] Elementor data updater process has been queued. [array (
'plugin' => 'Elementor Pro',
'from' => '3.23.2',
'to' => '3.23.3',
)]
2024-08-06 11:35:11 [info] elementor::elementor_updater Started
2024-08-06 11:35:11 [info] Elementor/Upgrades - _on_each_version Start
2024-08-06 11:35:11 [info] Elementor Pro/Upgrades - _on_each_version Finished
2024-08-06 11:35:11 [info] Elementor/Upgrades - _on_each_version Finished
2024-08-06 11:35:11 [info] Elementor data updater process has been completed. [array (
'plugin' => 'Elementor Pro',
'from' => '3.23.2',
'to' => '3.23.3',
)]
2024-08-06 11:35:11 [info] Elementor data updater process has been completed. [array (
'plugin' => 'Elementor',
'from' => '3.23.3',
'to' => '3.23.4',
)]
== Elementor - Compatibility Tag ==
Elementor Pro: Compatibility not specified
Emage Hover Effects for Elementor: Compatibility not specified
FacetWP - Elementor: Compatibility not specified
Newbury Racecourse Elementor: Compatibility not specified
Qi Addons for Elementor: Compatibility not specified
The Plus Addons for Elementor: Compatibility not specified
The Plus Addons for Elementor - Pro: Compatibility not specified
Ultimate Addons for Elementor: Compatibility not specified
== Elementor Pro - Compatibility Tag ==
Agreement
- [X] I agree that my issue may be closed without action if it doesn't meet all the requirements.
I have tested with the latest version of Elementor on a staging site and I get the same issue: https://pagespeed.web.dev/analysis/https-staging-newburyracecourse-co-uk/vd2vxbl3zi?form_factor=mobile
I haven't tested the Swiper slider, but as I've always mentioned, a <div> or <span> with no role="something" should not have an aria label.
<h1> - <h6> should also not be given aria-labels.
These labels are generally ignored by screen readers.
The carousel has is using a aria-roledescription and aria-label attribute. There are parameters that can be set for role according to the swiper docs: https://swiperjs.com/swiper-api#accessibility-a11y
Is there a way to add extra parameters to this in Elementor?
Fix: https://github.com/elementor/elementor/pull/28918
@rami-elementor thank you! When will it be released?
@steveindzine v3.26
@rami-elementor so a couple months at least since 3.25 isn't in beta yet?
Elementor 3.25-beta1 was released yesterday, the final version will be released in two weeks.
I'm sorry that we couldn't merge this issue in 3.25, I really understand the need. Accessibility is very important topic for websites and we do understand that. But 3.25 is focused on performance.
The bright side is that Elementor 3.26 will fix several carousels-related accessibility issues.
@rami-elementor thank you for the update
@rami-elementor is there a beta for 3.26 available, and if not, do you know when it will be?
@steveindzine Elementor 3.26-beta1 is planned for November 25, the the final release planned for December 9.
Hey everyone!
We have great news! 🙌
📢 We're happy to announce that this issue was resolved with the release of Elementor Pro v3.26.0! 🥳
✅ Feel free to check it out and update your plugin to the new version!
Check the changelog for more information: Changelog of Elementor and Elementor Pro
Cheers 🥂
PS: If you still experience the same issue after updating to the latest version, and can reproduce it consistently even after troubleshooting it and clearing all levels of cache, please open a new Bug Report with detailed information so we can investigate it further.