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

רכיבים נגישים: כפתורי רדיו ותיבות סימון מעוצבים

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

מכירים את זה שהמעצב נותן מראה חדש לחלוטין לכפתור רדיו או תיבת סימון ולא ניתן להגיע למראה הזה בעזרת CSS, אז אנחנו מחביאים את הכפתור ומחליפים אותו בתמונה (2 תמונות, מסומן ולא מסומן).

צורות "העלמת" הכפתור הפופולריות הם:

גובה ורוחב – 0, שקיפות מלאה, מיקום אבסולוטי מיחוץ למסך וכו'.

יש בעיה עם השיטה הזו, זה מעלים גם את הפוקוס (outline), אם תדלגו בעזרת TAB בין הרכיבים בעמוד תגלו שפתאום הפוקוס שלכם נעלם!

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

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

אז נכון, אפשר לעשות הרבה מאוד כדי לגרום לתמונה להתנהג ככפתור רדיו/ תיבת סימון:

  1. לתת לתמונה tabindex= 0 ולכפתור המוחבא tabindex= -1
  2. להוסיף event מתאים גם ללחיצה בעכבר וגם במקלדת
  3. להוסיף role כדי שהתמונה תזדהה כפקד אחר וכך עיוור ידע שמדובר בתיבת סימון/ רדיו
  4. להוסיף מאפיין של checked שמשנה את הערך שלו בין true ל- false ע"י javascript בלחיצה עליו

או:

לא להעלים את הפקד אלא לכסות או עם התמונה, לתת לשניהם את אותו הגודל בדיוק (כמובן שהתמונה לא יכולה להיות שקופה) ועל ידי CSS להחליף בין התמונות.

 <div>
        <label class="custom-checkbox">
            <input type="checkbox" class="checkbox">
            <div class="empty-div"></div>
            <div class="checked-div"></div>
            I am checkbox label
        </label>
 </div>
.custom-checkbox {
         position: relative;
     }
     
     .checkbox {
         width: 20px;
         height: 20px;
         margin: 0;
     }
     
     .empty-div {
         background-color: white;
         border: 1px solid gray;
         box-sizing: border-box;
         width: 20px;
         height: 20px;
         position: absolute;
         top: -6px;
         left: 0;
         display: none;
     }
     
     .checked-div {
         background-color: green;
         border: 1px solid gray;
         box-sizing: border-box;
         width: 20px;
         height: 20px;
         position: absolute;
         top: -6px;
         left: 0;
         display: none;
     }
     
     .checkbox:not(:checked)~.empty-div {
         display: block;
     }
     
     .checkbox:checked~.checked-div {
         display: block;
     }

כמובן שאת ה-DIV אפשר להחליף ב-IMG או לאכלס אותם בתמונה וכו'.

הרעיון הוא שהכפתור באמת שם והוא יודע לתפקד עם המקלדת ותוכנות הקראה של המסך ואפשר להגיד שהוא עושה בשבילנו את הנגישות.

כל מה שנותר לנו זה "להלביש" אותו יותר טוב.

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

תמונת אווירה של משטח כפתורי רדיורכיבים נגישים: בידוד של קבוצות כפתורי רדיו בנגישות תמונת אווירה של דפי הודעותרכיבים נגישים: טאבים תמונת אווירה של זיקיתשימוש ב-currentColor CSS תמונת אווירה של חלק 3 hhtml cssמדריך CSS + HTML – הבסיס – חלק 3
css html כפתורי רדיו נגישות תיבות סימון

אודות המחבר

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


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

השארת תגובה

ביטול

חיפוש באתר
בחירת העורכים
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 אנגולר בלוקציין בניית אתרים וורדפרס חיפוש עבודה כלים נוספים כללי נגישות קורסים ריאקט תלת מימד תקלות ופתרונות
צור קשר
כל הזכויות שמורות לקודקודייל
ליצירת קשר: @ קודקודייל
גלילה לראש העמוד
דילוג לתוכן
פתח סרגל נגישות כלי נגישות

כלי נגישות

  • הגדל טקסטהגדל טקסט
  • הקטן טקסטהקטן טקסט
  • גווני אפורגווני אפור
  • ניגודיות גבוההניגודיות גבוהה
  • ניגודיות הפוכהניגודיות הפוכה
  • רקע בהיררקע בהיר
  • הדגשת קישוריםהדגשת קישורים
  • פונט קריאפונט קריא
  • איפוס איפוס