Title: Accessibility &amp; Performance Concerns
Last modified: February 5, 2026

---

# Accessibility & Performance Concerns

 *  Resolved [diomededlssc](https://wordpress.org/support/users/diomededlssc/)
 * (@diomededlssc)
 * [4 months ago](https://wordpress.org/support/topic/accessibility-performance-concerns/)
 * Hello,
 * I’m writing to report a few issues identified in th Juicier Plugin Version 1.12.16
   when used on Wordpres V6.8.3.
 * On April 24, 2024, the [**Department of Justice published final ADA Title II regulations**](https://www.ada.gov/resources/2024-03-08-web-rule/)
   that specifically impact public colleges and universities—including community
   colleges, state universities, and any publicly-funded higher education institution.
 * Issue Summary:
    1. **Incorrect `tabindex` Usage:** The plugin adds `tabindex="-1"` to interactive
       elements within feed items (specifically `<a>` tags for links and sometimes `
       <img>` tags). This renders these essential elements unfocusable by keyboard 
       users and creates barriers for individuals relying on screen readers or keyboard-
       only navigation.
    2. **Unnecessary ARIA `role="region"`:** The plugin appears to add `role="region"`
       to elements. Depending on the context and structure, this role might be unnecessary
       or incorrectly applied, potentially causing confusion for screen reader users
       if not semantically appropriate or if it overrides more fitting implicit roles.
    3. **Missing Native Lazy Loading:** Images within the feed items do not consistently
       include the native HTML `loading="lazy"` attribute. This can lead to performance
       issues as all images might be requested immediately upon page load, regardless
       of whether they are visible.
 * Impact:
    - Accessibility: Users navigating the page with a keyboard cannot access the
      primary links (e.g., to the original Instagram post or user profile). Screen
      reader users may face difficulties understanding the content or interacting
      with the feed items correctly due to disrupted focus order, inaccessible links,
      or confusing ARIA roles.
    - Performance: Without native lazy loading or an option to change the lazy loading
      option (`loading="lazy"`), initial page load times can be negatively impacted,
      especially on pages with many feed items or slower network connections.
 * Example of Generated HTML (Problematic Snippets):
 *     ```wp-block-code
       <!-- Example showing tabindex="-1" and missing loading="lazy" -->
       <li class="feed-item ..." tabindex="0">
           <div class="j-image" ...>
               <img alt="..." class="..." style="..." tabindex="-1" src="...">
               <!-- Issues: Image has tabindex="-1", lacks loading="lazy" -->
           </div>
           <div class="j-text" ...>
               <div class="j-poster" ...>
                   <a aria-label="..." href="..." target="_blank" tabindex="-1">
                       <!-- Link has tabindex="-1" -->
                       <h3 ...>lakesumterstatecollege</h3>
                       <time ...>4mo</time>
                   </a>
               </div>
               <!-- ... -->
               <nav ...>
                   <a aria-label="instagram ..." class="..." href="..." target="_blank" tabindex="-1">
                       <!-- Social icon link also has tabindex="-1" -->
                   </a>
               </nav>
           </div>
       </li>
   
       <!-- Example potentially showing role="region" (inspect generated HTML) -->
       <div class="juicer-feed" role="region" aria-roledescription="carousel">
         ...
       </div>
       ```
   
 * _(Highlight `tabindex="-1"` and the absence of `loading="lazy"` in the image 
   tag. If you find `role="region"` in your inspection, point it out similarly.)_
 * **Suggested Fixes:**
    1. **Review `tabindex="-1"` Logic:** Ensure that interactive elements like links(`
       <a>`) and images (if intended to be clickable) rely on their default focusability.`
       tabindex="-1"` should be reserved for elements intentionally removed from the
       sequential keyboard navigation flow (e.g., hidden content, elements managed 
       by custom scripts for focus trapping).
    2. **Review ARIA Roles:** Evaluate if `role="region"` is necessary and correctly
       implemented. If the feed container is adequately described by its semantic HTML
       element (like a `<div>` with appropriate labeling) or if it’s part of a larger
       landmark structure, the explicit `role="region"` might be redundant or even 
       detrimental. Ensure ARIA roles enhance, not hinder, accessibility.
    3. **Add Native Lazy Loading:** Implement the standard HTML `loading="lazy"` attribute
       on the `<img>` tags within the feed items. This leverages the browser’s built-
       in lazy loading capabilities, improving performance.
 * Removing the erroneous `tabindex="-1"` attributes and adding `loading="lazy"`(
   as demonstrated in the workaround below) successfully resolves the keyboard accessibility
   issue and improves performance.
 * const allFeedItems = juicerContainer.querySelectorAll(‘.feed-item.slick-slide’);
   
   allFeedItems.forEach(item => {const isHidden = item.getAttribute(‘aria-hidden’)
   === ‘true’;const isCloned = item.classList.contains(‘slick-cloned’);
 *     ```wp-block-code
                       if (isHidden || isCloned) {
                           if (item.hasAttribute('tabindex')) {
                               item.removeAttribute('tabindex');
                           }
                           const focusableChildren = item.querySelectorAll('a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])');
                           focusableChildren.forEach(child => {
                               if (!child.hasAttribute('data-original-tabindex')) {
                                   child.setAttribute('data-original-tabindex', child.getAttribute('tabindex') || '');
                               }
                               child.setAttribute('tabindex', '-1');
                           });
                       } else {
                           if (item.getAttribute('tabindex') !== '0') {
                               item.setAttribute('tabindex', '0');
                           }
                           const previouslyDisabledChildren = item.querySelectorAll('[data-original-tabindex]');
                           previouslyDisabledChildren.forEach(child => {
                               const originalValue = child.getAttribute('data-original-tabindex');
                               if (originalValue === '') {
                                   child.removeAttribute('tabindex');
                               } else {
                                   child.setAttribute('tabindex', originalValue);
                               }
                               child.removeAttribute('data-original-tabindex');
                           });
                       }
       ```
   
 * _A temporary JavaScript workaround involving `element.removeAttribute('tabindex')`
   for focusable elements and `img.setAttribute('loading', 'lazy')` successfully
   restored keyboard accessibility and improved initial load performance._
 * Thank you for considering this feedback. Addressing these points would significantly
   improve the plugin’s inclusivity, adherence to web accessibility standards (like
   WCAG), and overall performance.
 * By Verifying with Google Page Speed Insights and AXE Extension, they should be
   able to help fix/guide accessibility and speed issues.
 * Best regards,
   David DiomedeWeb DeveloperLake Sumter State College
    -  This topic was modified 4 months ago by [diomededlssc](https://wordpress.org/support/users/diomededlssc/).

Viewing 1 replies (of 1 total)

 *  Plugin Support [memiceliscs](https://wordpress.org/support/users/memiceliscs/)
 * (@memiceliscs)
 * [3 months, 3 weeks ago](https://wordpress.org/support/topic/accessibility-performance-concerns/#post-18822939)
 * Hi David,
 * Thank you for the detailed report regarding the accessibility and performance
   issues with the Juicer plugin. We appreciate you taking the time to document 
   these findings so thoroughly.
 * We wanted to let you know that we’ve received your report and are currently in
   contact with you through our ticketing system to address these issues directly.
   
   Since we’re handling this through our support channel, I’ll be marking this thread
   as resolved.Best regardsJuicer Support Team

Viewing 1 replies (of 1 total)

You must be [logged in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fwordpress.org%2Fsupport%2Ftopic%2Faccessibility-performance-concerns%2F%3Foutput_format%3Dmd&locale=en_US)
to reply to this topic.

 * ![](https://ps.w.org/juicer/assets/icon-256x256.png?rev=3128823)
 * [Juicer.io: Effortlessly embed, curate, and aggregate social media feeds into your website](https://wordpress.org/plugins/juicer/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/juicer/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/juicer/)
 * [Active Topics](https://wordpress.org/support/plugin/juicer/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/juicer/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/juicer/reviews/)

 * 1 reply
 * 2 participants
 * Last reply from: [memiceliscs](https://wordpress.org/support/users/memiceliscs/)
 * Last activity: [3 months, 3 weeks ago](https://wordpress.org/support/topic/accessibility-performance-concerns/#post-18822939)
 * Status: resolved