💡


האם ידעתם: :focus-within הוא למעשה זהה למצב :HOVER אבל מיועד למשתמשי מקלדת. כלומר אם HOVER המיועד למשתמשי עכבר פותח תת תפריט אז focus-within מאפשר לפתוח את אותו תת תפריט בעזרת ניווט עם כפתור הטאב שמקלדת.

:focus-within - הפתרון האלגנטי לניווט במקלדת

ב-CSS מודרני, :focus-within הוא אחד הכלים החשובים ביותר ליצירת חוויית משתמש נגישה ואיכותית למשתמשי מקלדת. למרות שהוא אכן דומה ל-:hover, הוא מציע יכולות ייחודיות שהופכות אותו לחיוני עבור נגישות וחוויית משתמש מתקדמת.

מה זה :focus-within ואיך הוא עובד?

:focus-within הוא pseudo-class שמופעל כאשר אלמנט או אחד מצאצאיו מקבל פוקוס. זה אומר שהמחלקה תישאר פעילה גם כאשר המשתמש נווט בין שדות שונים בתוך אותו קונטיינר.

הבדלים מרכזיים מ-:hover

בעוד ש-:hover מגיב לתנועת העכבר, :focus-within מגיב לפוקוס של המקלדת. ההבדלים החשובים:

:hover:

  • מופעל בעת רחיפה עם העכבר
  • נעלם מיד כשהעכבר עוזב את האזור
  • לא נגיש למשתמשי מקלדת בלבד

:focus-within:

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

דוגמא מעשית לשימוש - פתיחת תת תפריט


FAQ



זו פסאודו-מחלקת CSS שמופעלת על אלמנט אם אחד מהילדים שלו קיבל פוקוס – ומאפשרת לעצב את הקבוצה כולה בהתאם.

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

בטפסים מרובי שדות, קבוצות רדיו או צ'קבוקס, dropdowns, כרטיסים (cards) או תפריטים נפתחים שמגיבים לפוקוס פנימי.

משתמשים בתכונות כמו aria-labelledby או aria-describedby על האלמנט החיצוני – כך גם קוראי מסך יבינו את ההקשר.

לא להסתמך עליו כתחליף ל־JavaScript בפוקוס מורכב, לא לעצב רק באמצעות צבע, ולא לעוות את ממשק המשתמש בעיצוב מוגזם.

עודכן בתאריך: