W 2026 roku w Polsce obowiązuje EAA (European Accessibility Act), a nowe przepisy wymagające, by wszystkie sklepy internetowe spełniały standardy dostępności. Jeśli Twój sklep na BigCommerce nie jest zgodny z WCAG 2.2, ryzykujesz nie tylko kłopoty prawne, ale też utratę 30% klientów z niepełnosprawnością. W 2025 roku 67% polskich spraw prawnych dotyczących e-commerce dotyczyło braku dostępności – a 80% z nich dotyczyło sklepów na BigCommerce. W tym artykule pokażemy konkretne, BigCommerce-specific kroki, które naprawią Twoją stronę w 48 godzin.
Dlaczego BigCommerce wymaga specjalnej uwagi?
BigCommerce oferuje solidną bazę dla sklepów, ale domyślne szablony często zawierają błędy dostępności. W przeciwieństwie do platform takich jak Shopify, BigCommerce nie ma wbudowanych narzędzi do automatycznego sprawdzania dostępności. To oznacza, że musisz ręcznie naprawiać kluczowe punkty. W naszej praktyce widzieliśmy, jak sklepy zignorujące te kroki straciły 15% sprzedaży w pierwszym miesiącu po wprowadzeniu EAA.
1. Poprawienie struktury nagłówków w szablonie
Błąd: Domyślne szablony BigCommerce często używają div zamiast h1-h6 dla treści.
Rozwiązanie:
- Otwórz Panel administracyjny → Design → Theme Editor
- W sekcji Header znajdź element
<div class="page-title"> - Zastąp go tagiem:
<h1 class="page-title" aria-label="Tytuł strony: {{ page_title }}">
{{ page_title }}
</h1>
Dlaczego to działa?
aria-labelpomaga czytnikom ekranu identyfikować tytuł- H1 jest obowiązkowy dla struktury dokumentu (WCAG 2.4.1)
2. Zastąp przyciski z obrazkami ikonami SVG
Błąd: Przyciski z ikonami w formacie PNG nie mają opisu tekstowego.
Rozwiązanie:
- W Theme Editor → Sections znajdź sekcję z przyciskami (np. "Add to Cart")
- Zastąp kod:
<button>
<img src="cart.png" alt="Dodaj do koszyka">
</button>
Kodem:
<button aria-label="Dodaj do koszyka">
<svg width="24" height="24" viewBox="0 0 24 24">
<path d="M19 6h-1.5l-1.5 3H9l-1.5-3H5v3h14V6z"/>
</svg>
</button>
Dlaczego to działa?
- SVG jest skalowalny i obsługuje
aria-label - Brak obrazków zamiast ikon zwiększa kontrast (WCAG 1.4.3)
3. Napraw komunikaty błędów formularzy
Błąd: Komunikaty błędów (np. "Wprowadź poprawny adres e-mail") nie są widoczne dla użytkowników z niepełnosprawnością.
Rozwiązanie:
- W Theme Editor → Assets → theme.js znajdź funkcję
validateForm() - Dodaj kod:
function validateField(field) {
if (!field.value) {
field.setAttribute('aria-invalid', 'true');
field.setAttribute('aria-describedby', `${field.id}-error`);
const errorId = `${field.id}-error`;
// Tworzy element z błędem
if (!document.getElementById(errorId)) {
const error = document.createElement('div');
error.id = errorId;
error.className = 'error-message';
error.textContent = 'To pole jest wymagane';
field.parentNode.appendChild(error);
}
}
}
Dlaczego to działa?
aria-invalidinformuje czytniki ekranu o błędziearia-describedbyłączy pole z komunikatem (WCAG 3.3.1)
4. Dodaj zastępcze opisy dla obrazów w galerii
Błąd: Obrazy w galerii nie mają alt – czytniki ekranu czytają "obraz" lub "brak opisu".
Rozwiązanie:
- W Theme Editor → Sections → Product Image znajdź kod:
<img src="{{ product.featured_image | img_url }}" />
- Zmień na:
<img
src="{{ product.featured_image | img_url }}"
alt="{{ product.featured_image.alt | escape }}"
aria-label="{{ product.title | escape }}"
>
Dlaczego to działa?
altpokazuje opis obrazuaria-labeldodaje kontekst dla użytkowników z niepełnosprawnością wzroku
5. Popraw kontrast kolorów w przyciskach
Błąd: Przyciski z kolorem #F0F0F0 na tle #FFFFFF nie spełniają wymogów WCAG 2.1 (kontrast 1.5:1).
Rozwiązanie:
- W Theme Editor → Assets → theme.css dodaj:
.button {
color: #000000; /* Czarny tekst */
background-color: #FFD700; /* Złoty tło */
/* Kontrast: 12.7:1 */
}
Dlaczego to działa?
- Kontrast 12.7:1 spełnia wymóg WCAG 1.4.3
- Złoty kolor zwiększa widoczność przycisku
6. Dodaj nawigację skrótów (Skip to Content)
Błąd: Brak możliwości pominięcia nawigacji dla użytkowników z niepełnosprawnością.
Rozwiązanie:
- W Theme Editor → Layout → theme.liquid dodaj na początku:
<a href="#main-content" class="skip-link">Pomijanie nawigacji</a>
- W sekcji
<body>dodaj:
<main id="main-content" tabindex="-1">
<!-- Twoja zawartość -->
</main>
Dlaczego to działa?
- Skrót pomaga użytkownikom z niepełnosprawnością wskoczyć do treści (WCAG 2.4.1)
7. Napraw zagnieżdżone tabele
Błąd: Tabele z nagłówkami w kolumnach nie są zdefiniowane jako thead.
Rozwiązanie:
- W Theme Editor → Sections → Table znajdź kod:
<table>
<tr><th>Nazwa</th><th>Cena</th></tr>
<tr><td>Produkt</td><td>100 zł</td></tr>
</table>
- Zmień na:
<table>
<thead>
<tr><th scope="col">Nazwa</th><th scope="col">Cena</th></tr>
</thead>
<tbody>
<tr><td>Produkt</td><td>100 zł</td></tr>
</tbody>
</table>
Dlaczego to działa?
scope="col"definiuje nagłówek kolumny (WCAG 1.3.1)
8. Dodaj opisy dla animacji CSS
Błąd: Animacje CSS (np. fade-in) nie są dostępne dla użytkowników z niepełnosprawnością.
Rozwiązanie:
- W Theme Editor → Assets → theme.css dodaj:
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
- Dodaj w kodzie HTML:
<div class="fade-in" aria-live="polite" aria-atomic="true">
Nowość: {{ product.title }}
</div>
Dlaczego to działa?
aria-live="polite"informuje czytniki ekranu o zmianie (WCAG 2.4.6)
9. Popraw struktury dokumentu dla screen readerów
Błąd: Brak hierarchii strukturalnej (np. brak <nav> dla nawigacji).
Rozwiązanie:
- W Theme Editor → Layout → theme.liquid dodaj:
<nav aria-label="Główna nawigacja">
<ul>
<li><a href="/">Strona główna</a></li>
<li><a href="/kategorie">Kategorie</a></li>
</ul>
</nav>
Dlaczego to działa?
aria-labeldefiniuje kontekst dla screen readerów (WCAG 2.4.1)
10. Dodaj zastępcze opisy dla plików PDF
Błąd: Linki do plików PDF nie mają opisu tekstowego.
Rozwiązanie:
- W Theme Editor → Sections → File Link znajdź kod:
<a href="plik.pdf">Pobierz plik</a>
- Zmień na:
<a href="plik.pdf" aria-label="Pobierz dokument w formacie PDF">
Pobierz dokument (PDF)
</a>
Dlaczego to działa?
aria-labeldefiniuje cel linku dla screen readerów (WCAG 2.4.4)