חיבור שקוף לאתר שלכם

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

ההתקנה המהירה

הדביקו את השורה הזו לפני תג </body> באתר שלכם.

html · minimal
<script src="https://cdn.jsdelivr.net/npm/@shakuf-widget/widget" defer></script>

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

html · recommended
<script src="https://cdn.jsdelivr.net/npm/@shakuf-widget/widget"
        data-statement-url="/accessibility"
        data-coordinator-name="שם הרכז"
        data-coordinator-phone="03-0000000"
        data-coordinator-email="access@example.co.il"
        defer></script>

פרומפט מוכן לעורך ה-AI שלכם

עובדים עם Claude Code, Cursor, Codex, Lovable, Base44, Windsurf או Bolt? העתיקו את הפרומפט והדביקו. הוא מנוסח כך שהעוזר יתקין נכון, לא יעשה יותר מדי, ולא יכתוב לכם טענות שיווקיות שאסור לפרסם.

prompt · paste into your agent
הוסף לאתר הזה את תוסף הנגישות "שקוף" (Shakuf).

לפני שאתה מתחיל — שאל אותי את הפרטים הבאים ואל תמשיך עד שתקבל תשובה:

  • מהי הכתובת של עמוד הצהרת הנגישות באתר? (למשל /accessibility)
    אם עדיין אין עמוד כזה — אמור לי זאת במפורש, כי הדין מחייב לפרסם אותו.
  • מה שמו המלא של רכז הנגישות?
  • מה מספר הטלפון שלו?
  • מה כתובת הדוא״ל שלו?

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

מה לעשות אחר כך:

1. הוסף את התג הבא ממש לפני </body> בתבנית הראשית של האתר, כך שייטען בכל עמוד,
   כשהערכים מולאו מהתשובות שקיבלת:
<script src="https://cdn.jsdelivr.net/npm/@shakuf-widget/widget"
        data-statement-url="/accessibility"
        data-coordinator-name="[שם רכז הנגישות]"
        data-coordinator-phone="[טלפון]"
        data-coordinator-email="[דוא״ל]"
        defer></script>
2. אם זה פרויקט React / Next.js / Vue / Svelte — אל תוסיף את התג ל-JSX של
   קומפוננטה בודדת. הוסף אותו ל-layout או ל-index.html הראשי, פעם אחת לכל
   האפליקציה. ב-Next.js App Router השתמש ב-next/script עם
   strategy="afterInteractive" בתוך app/layout.tsx.

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

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

5. אם יש באתר Content-Security-Policy, ודא ש-script-src מתיר את
   cdn.jsdelivr.net. אין צורך ב-connect-src — התוסף לא מבצע בקשות רשת.

חשוב מאוד — מה לא לכתוב:

אל תוסיף לאתר, לתיעוד או לקוד שום טקסט שטוען שהאתר "עומד בתקן", "נגיש לפי
ת״י 5568", "מוגן מתביעות" או "נגיש ב-100%". התוסף אינו הופך אתר לנגיש; הוא
כלי עזר לתצוגה בלבד. הנגשה אמיתית מחייבת תיקונים בקוד ובתוכן האתר, פרסום
הצהרת נגישות, מינוי רכז נגישות ובדיקה של מורשה נגישות.

בסיום, דווח לי בדיוק אילו קבצים שינית.

סעיף 4 אינו ניסוח מקרי. עוזרי קוד נוטים ״לעזור״ ולהוסיף תיקוני נגישות אוטומטיים — הוספת ARIA, ניחוש טקסט חלופי, שינוי כותרות — וזו בדיוק הפעולה שמקלקלת אתרים למשתמשי קורא מסך.

התקנה לפי פלטפורמה

  1. פתחו את עורך התבנית

    לוח הבקרה ← עיצוב ← עורך קובצי ערכת עיצוב, ובחרו footer.php.

  2. הדביקו לפני </body>

    את תג ה-script מלמעלה.

  3. שמרו ורעננו

    הכפתור יופיע בפינת המסך.

עדיף להשתמש בערכת בת (child theme) — אחרת עדכון התבנית ימחק את השינוי. לחלופין, כל תוסף מסוג ״Insert Headers and Footers״ יעשה את העבודה בלי לגעת בקוד.

הגדרות

כל ההגדרות אופציונליות ונקראות מתג ה-script עצמו.

רשימת מאפייני ההגדרה של התוסף
attributedefaultתיאור
data-statement-urlקישור להצהרת הנגישות של האתר
data-coordinator-nameשם רכז הנגישות
data-coordinator-phoneטלפון רכז הנגישות
data-coordinator-emailדוא״ל רכז הנגישות
data-positionbottom-rightגם bottom-left · top-right · top-left
data-offset20מרחק בפיקסלים משולי המסך
data-accent#0b5fffצבע ראשי בפורמט hex. צבע הטקסט נבחר אוטומטית לפי ניגודיות
data-mountbodyסלקטור CSS של האלמנט שאליו התוסף נטען. נדרש באפליקציות שמסמנות inert על צאצאי body — ראו למטה
data-langמ-<html lang>he או en. בלי הערך הזה התוסף עוקב אחר שפת העמוד, כולל שינוי שפה בלי טעינה מחדש. ברירת המחדל היא עברית
data-hiddenהכפתור מתחיל מוסתר. לאתרים ששומרים בעצמם העדפה של ״להסתיר את כפתור הנגישות״, כדי שהכפתור לא יהבהב בכל טעינה

מתי צריך data-mount

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

הפתרון הוא להפנות את התוסף אל תוך אותו שורש:

<script src="/shakuf.js" data-mount="#root" defer></script>

אם הסלקטור שגוי או לא מתאים לאף אלמנט, התוסף נטען ל-body כרגיל ורושם אזהרה ב-console. הוא לא ייעלם בגלל טעות הגדרה.

שליטה מתוך קוד

התקנה דרך תג script מגדירה את window.shakuf. כל הפעולות סינכרוניות ואינן מבצעות בקשות רשת:

שיטות ה-API של התוסף
methodתיאור
open() · close() · toggle()פתיחה וסגירה של החלונית
hide() · show()הסתרה והצגה של כפתור הפתיחה. ההעדפות שהמבקר כבר הפעיל נשארות פעילות
hiddenהאם הכפתור מוסתר כרגע
reset()איפוס כל ההגדרות, כמו הכפתור בחלונית
setLanguage(lang)he או en. מקבע את השפה ומפסיק לעקוב אחר <html lang>
langהשפה הפעילה
destroy()הסרה מלאה של התוסף וביטול כל מה שהחיל

בהתקנה דרך npm אין window.shakufmount() מחזיר את המופע עצמו, עם אותן שיטות.

כדי להחיל העדפה שמורה כבר בטעינה, האזינו לאירוע shakuf:ready על document. האירוע נורה בתוך הטעינה, לפני ש-window.shakuf קיים, ולכן המופע מגיע בתוך event.detail:

document.addEventListener('shakuf:ready', function (e) {
  if (userPrefersHidden) e.detail.hide();
});

אם אתם כבר יודעים מראש שהכפתור צריך להיות מוסתר, עדיף data-hidden — הוא חוסך את ההבהוב.

פרטים טכניים

מה התוסף עושה לעמוד

מוסיף אלמנט אחד ל-<body> עם Shadow DOM, כך שהעיצוב שלו לא יכול לדלוף לאתר ולא יכול להישבר ממנו. ההתאמות מיושמות דרך מאפייני data-shakuf-* על תגית <html> וגיליון סגנון אחד.

התוסף אינו משנה ARIA, roles או סמנטיקה, ואינו מתערב בטכנולוגיה מסייעת של המבקר. כל שינוי הפיך לחלוטין בלחיצה על ״איפוס״.

בקשות רשת ופרטיות

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

Content-Security-Policy

אם באתר יש CSP, צריך להתיר את מקור הסקריפט:

csp
script-src 'self' https://cdn.jsdelivr.net;

אין צורך ב-connect-src — התוסף לא מבצע בקשות.

גודל, ביצועים ונעיצת גרסה

כ-13KB דחוס (gzip), ללא תלויות בזמן ריצה. נטען עם defer ולכן אינו חוסם את הצגת העמוד. חלונית ההגדרות נבנית רק כשהמבקר פותח אותה בפועל.

ברירת המחדל מושכת את הגרסה האחרונה. לנעילת גרסה מדויקת:

html · pinned
<script src="https://cdn.jsdelivr.net/npm/@shakuf-widget/widget@0.1.0" defer></script>

מה עוד צריך כדי באמת להיות נגישים

התוסף הוא הצעד הקטן. אלה הדברים שהוא לא עושה, ושבלעדיהם האתר אינו עומד בדרישות הדין:

  1. תיקון האתר עצמו

    ניווט מקלדת מלא, טקסט חלופי לתמונות, תוויות לשדות טופס, ניגודיות מספקת, מבנה כותרות תקין — לפי ת״י 5568 (WCAG 2.1 AA).

  2. פרסום הצהרת נגישות

    עמוד ייעודי ומתוארך שמפרט את מצב הנגישות באתר, את ההתאמות שבוצעו ואת המגבלות הידועות.

  3. מינוי רכז נגישות

    אדם בשם ובפרטי קשר, לא כתובת כללית.

  4. ערוץ פניות שעובד

    ושמישהו באמת עונה בו.

  5. בדיקה של מורשה נגישות

    בדיקה חיצונית מקצועית. שקוף אינו תחליף לה, ואיננו מורשי נגישות.