קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
ראשי ♦ HTML ♦ רכיבים נגישים: טאבים

רכיבים נגישים: טאבים

עידן יצחקי 4 בדצמבר 2020 אין תגובות

איך אנחנו בונים טאבים נגישים? שאלה מצויינת, אנחנו צריכים מספר קטן של מאפיינים וזהו.

תגית עוטפת כמו div , עם מאפיין אחד:

role="tablist"

 <div role="tablist"></div>

בתוך התגית נוסיף מספר כפתורים (כמספר הטאבים שאנחנו רוצים) ולכל כפתור נוסיף את המאפיינים הבאים:

 <button role="tab" aria-selected="true" onclick="tabClickedFn()">tab 1</button>
 <button role="tab" aria-selected="false" onclick="tabClickedFn()">tab 2</button>
 <button role="tab" aria-selected="false" onclick="tabClickedFn()">tab 3</button>

על פי הקוד למעלה אפשר לראות שיש לנו 3 כפתורים שמשמשים כטאב כל אחד.

בנוסף, יש לכל כפתור מאפיין aria-selected שהוא מסוג bool ולכן מקבל true או false.

אפשר להגיד שמבחינת נגישות סיימנו, מה נשאר לעשות?

  1. יש לשנות בכפתור שנלחץ את aria-selected ל-true ואת שאר הכפתורים ל-false. במקביל צריך לשנות את התוכן שמגיע מיד אחריהם בהתאם לטאב שנלחץ. כמובן שאת כל זה אנחנו עושים עם JS
  2. להוסיף עיצוב לכפתורים כדי שיראו כמו טאבים.

והנה הקוד מחובר:

<div role="tablist">
	<button role="tab" aria-selected="true" onclick="tabClickedFn()">tab 1</button>
	<button role="tab" aria-selected="false" onclick="tabClickedFn()">tab 2</button>
	<button role="tab" aria-selected="false" onclick="tabClickedFn()">tab 3</button>
</div>
<div class="tab-content-wrapper show" id="content1"></div>
<div class="tab-content-wrapper" id="content2"></div>
<div class="tab-content-wrapper" id="content3"></div>

לא לשכוח שעדיין מדובר בכפתורים ולכן הדילוג בינהם הוא בעזרת טאב, אם רוצים שזה יהי בעזרת החצים אז צריך להוסיף פונקציה שבודקת לחיצה על כפתור ואיזה כפתור נלחץ.

	<button role="tab" aria-selected="true" onclick="tabClickedFn()" onkeydown="movingLeftAndRightFn(event)">tab 1</button>

בפונקציה נבדוק את המקש שנלחץ כך:

 movingLeftAndRightFn(event) {
    if (event.which === 37 || event.code === "ArrowLeft") {
      if (tabCounter > 0) {
        tabCounter--;
        classChangeFn();
      }
    }
    if (event.which === 39 || event.code === "ArrowRight") {
      if (tabCounter < tabMax) {
        tabCounter++;
        classChangeFn();
      }
    }
  }

בודקים אם הכפתור שנלחץ מעניין אותנו ואם כן אז בודקים שאין חריגה מכמות הטאבים שיש לנו, גבול תחתון יהיה 0 והגבול העליון יהיה מספר הטאבים שיש לנו.

כמובן שהמימוש יכול קצת להשתנות בהתאם לבניה וכתיבת הסקריפט אבל אני מאמין שהרעיון ברור.

בהצלחה :))

פוסטים קשורים:

תמונת אווירה של רשימה עם תיבות סימוןרכיבים נגישים: כפתורי רדיו ותיבות סימון מעוצבים תמונת אווירה של משטח כפתורי רדיורכיבים נגישים: בידוד של קבוצות כפתורי רדיו בנגישות תמונת אווירה של עיר צבוע על רקע עיר לא צבועמדריך נגישות אתרים 101 תמונת אווירה של אישה אשר בוחרת דמות מתוך רשת של דמויותרשימת css selectors
html JS נגישות

אודות המחבר

עידן יצחקי להציג את כל הפוסטים של עידן יצחקי


« פוסט קודם
פוסט הבא »

השארת תגובה

ביטול

חיפוש באתר
בחירת העורכים
29 בדצמבר 2023 עידן יצחקי

שדה טקסט עשיר עם תמונות

אתם הולכים להיות מופתעים עד כמה HTML יכול להיות חכם ולבצע משהו כל כך מורכב, שאם אנחנו היינו רוצים ליצור

1 באוקטובר 2021 עידן יצחקי

איך למשוך דינמית favicon של אתרים אחרים ב-JS

בפוסט זה נראה איך אפשר על פי לינקים בדף למשוך את ה-favicon מהדומיין שלהם באופן דינמי, בדיקה של תקינות התמונה

פופולרי
Javascript functions – היכרות עם סוגי פונקציות
Javascript
21 בדצמבר 2024 אין תגובות
Nested routing in angular standalone component
Typescript
15 בנובמבר 2024 תגובה אחת
בחרו לפי תגיות
angular blockchain css ethers express front-end fullstack GQL html javascript next js nextjs nodejs react hooks reactjs solidity webgl אנגולר בלוקציין וורדפרס לימודי אנגולר לימודי וורדפרס לימוד ריאקט מדריך front-end מדריך GQL מדריך אנגולר מדריך וורדפרס מדריך חינם react מדריך ריאקט מפתח בלוק מפתח בלוקציין מתכנת front-end מתכנת בלוקציין מתכנת פרונט סולידיטי קורס front end קורס fullstack קורס nextjs קורס אנגולר קורס בלוקציין קורס בלוקציין בחינם קורס סולידיטי קורס ריאקט קורס תכנות קורס תכנות בחינם
סינון על פי קטגוריות
CSS fullstack HTML IIS Javascript nodeJs SEO Typescript אנגולר בלוקציין בניית אתרים וורדפרס חיפוש עבודה כלים נוספים כללי נגישות קורסים ריאקט תלת מימד תקלות ופתרונות
צור קשר
כל הזכויות שמורות לקודקודייל
ליצירת קשר: @ קודקודייל
גלילה לראש העמוד