תנאי כשל
מה בדיוק נבדק
פרוטוקול Matterhorn מחלק את תקן PDF/UA-1 ל‑31 נקודות בדיקה ו‑ תנאי כשל. טאגארט מזהה 106 מהם אוטומטית. הרשימה שלמטה היא התנאים שמשתמש פוגש בפועל — אלה שמופיעים בדוח שאדם קורא — עם הנוסח העברי שהאפליקציה עצמה מציגה.
חמשת תנאי TG-RTL אינם ב‑Matterhorn המקורי. הפרוטוקול נכתב עבור כתב משמאל לימין, ולכן אין בו שם לכשל הנפוץ ביותר במסמכים בעברית: טקסט שאוחסן בסדר ויזואלי. טאגארט הוסיף אותם כהרחבה, ומסמן אותם ככאלה בכל דוח — הם אינם מתחזים לסעיפי תקן.
01 Real content tagged
חוסםתוכן אינו מסומן כ‑Artifact ואינו מתויג כתוכן אמיתי01-005
תוכן שאינו נמצא בעץ המבנה ואינו מסומן כדקורטיבי פשוט אינו קיים עבור טכנולוגיה מסייעת.
מה קורא מסך עושה: הקורא מדלג על התוכן לחלוטין. המשתמש אינו יודע שמשהו חסר.
חוסםרשומת Suspects מכילה true01-007
המפיק סימן בעצמו שהתיוג עשוי שלא להתאים לתוכן.
מה קורא מסך עושה: כלי בדיקה עשויים לדווח על המסמך כתקין בעוד המפיק עצמו הצהיר שאינו בטוח.
02 Role Mapping
חוסםמיפוי תפקידים ממפה לתפקיד לא סטנדרטי02-001
תג מותאם חייב להתמפות דרך RoleMap לתג סטנדרטי, אחרת הקורא אינו יודע מה הוא.
מה קורא מסך עושה: הרכיב מוכרז כטקסט רגיל, ומשמעותו — כותרת, רשימה, טבלה — אובדת.
חוסםמיפוי תפקידים מכיל מעגל02-003
שרשרת מיפוי החוזרת לעצמה אינה ניתנת לפתרון.
מה קורא מסך עושה: הקורא אינו יכול להכריע מהו התג ומתייחס אליו כאל תוכן חסר משמעות.
חוסםתג סטנדרטי ממופה מחדש לתג סטנדרטי אחר02-004
מיפוי מחדש של תג תקני לתקני אחר משנה את משמעות המסמך בלי שהדבר ייראה.
מה קורא מסך עושה: הקורא מכריז סוג רכיב שונה ממה שהמחבר התכוון.
06 Metadata
חוסםהמסמך אינו מכיל זרם מטא‑דאטה XMP06-001
בקטלוג אין ערך Metadata שמפנה לחבילת XMP. התקן PDF/UA-1 מחייב אותה — שם נמצאות הצהרת התאימות וכותרת המסמך.
מה קורא מסך עושה: בלי XMP הקורא נופל חזרה לכותרת שבמילון DocInfo או לשם הקובץ, ומעבדים תואמים אינם יכולים לזהות את הצהרת ה‑PDF/UA.
חוסםמטא‑דאטה XMP אינה כוללת את מזהה PDF/UA06-002
זרם המטא‑דאטה אינו כולל את סכמת pdfuaid, ולכן הקובץ אינו מצהיר על תאימות PDF/UA.
מה קורא מסך עושה: הקורא אינו מקבל אינדיקציה שהמסמך נועד להיות נגיש.
חוסםזרם המטא‑דאטה XMP אינו מכיל dc:title06-003
מאפיין הכותרת של Dublin Core חסר מחבילת ה‑XMP.
מה קורא מסך עושה: הקורא מכריז את שם הקובץ במקום שם המסמך — "ללא שם", או "final-v3-REALLY-FINAL.pdf".
אזהרההכותרת dc:title אינה מזהה את המסמך בבירור06-004
יש כותרת אך היא חסרת תועלת: שם הקובץ, "Microsoft Word - Document1", "untitled", או שם התבנית.
מה קורא מסך עושה: הקורא מכריז כותרת שאינה אומרת למשתמש דבר על המסמך שנפתח.
07 Dictionary
חוסםמילון ViewerPreferences אינו מכיל ערך DisplayDocTitle07-001
בלי ערך DisplayDocTitle, תוכנת הצפייה רשאית להציג בכותרת החלון את שם הקובץ במקום את כותרת המסמך.
מה קורא מסך עושה: כותרת החלון או הלשונית שמוכרזת בפתיחת המסמך היא שם הקובץ, ולא שם המסמך.
חוסםהערך DisplayDocTitle מוגדר כ‑false07-002
הערך קיים, ומורה במפורש לתוכנת הצפייה להציג את שם הקובץ במקום את כותרת המסמך.
מה קורא מסך עושה: כותרת החלון או הלשונית שמוכרזת בפתיחת המסמך היא שם הקובץ, ולא שם המסמך.
09 Appropriate Tags
אזהרהתגיות אינן בסדר קריאה לוגי09-001
סדר הרכיבים בעץ המבנה אינו תואם לסדר שבו אדם היה קורא את הדף. זהו הכשל המהותי הנפוץ ביותר במסמכים מתויגים.
מה קורא מסך עושה: הקורא מכריז תוכן מחוץ לסדר: סרגל צד באמצע משפט, טבלה לפי טורים, מאמר בשני טורים שנקרא לרוחב.
חוסםרכיב מבנה של טבלה אינו תואם ל‑ISO 32000-1, טבלה 33709-004
מבנה הטבלה שבור: תא TD מחוץ לשורה TR, שורה TR מחוץ ל‑Table, THead, TBody או TFoot, טבלה בלי שורות, או שורות שמשתרעות על מספר שונה של עמודות.
מה קורא מסך עושה: הניווט בטבלה קורס: הקורא מסרב להיכנס למצב טבלה, או מכריז תאים בלי הקשר של שורה ועמודה.
חוסםרכיב מבנה של רשימה אינו תואם ל‑ISO 32000-1, טבלה 33609-005
דקדוק הרשימה שבור: תגית LI מחוץ ל‑L, תגית Lbl או LBody מחוץ ל‑LI, או פריט רשימה בלי LBody.
מה קורא מסך עושה: הקורא אינו מכריז "רשימה בת N פריטים" ואינו יכול לנווט מפריט לפריט.
חוסםרכיב מבנה של תוכן עניינים אינו תואם ל‑ISO 32000-1, טבלה 33309-006
תגית TOCI מופיעה מחוץ ל‑TOC, או ש‑TOC מכיל צאצאים שאינם TOC או TOCI.
מה קורא מסך עושה: תוכן העניינים אינו מוכרז כמבנה שאפשר לנווט בו.
10 Character Mappings
חוסםקוד תו שאי אפשר למפות ל‑Unicode10-001
מצויר גליף שלקוד התו שלו אין מקבילה ב‑Unicode — לא דרך מפת ה‑ToUnicode של הגופן, לא דרך הקידוד ולא דרך שמות הגליפים. הטקסט נראה תקין על המסך, אבל אי אפשר לחלץ אותו.
מה קורא מסך עושה: הקורא לא מכריז דבר, או מכריז תווים חלופיים, על טקסט שנראה בבירור על המסך. העתקה והדבקה מפיקות ג׳יבריש.
11 Declared Natural Language
חוסםשפת הטקסט בתוכן העמוד אינה ניתנת לקביעה11-001
אין /Lang בקטלוג ואין דריסה ברמת הרכיב, ולכן אין דרך לדעת באיזו שפה המסמך כתוב.
מה קורא מסך עושה: הקורא משתמש בקול ברירת המחדל של המערכת. בעברית התוצאה בדרך כלל בלתי מובנת.
חוסםלא ניתן לקבוע את שפת המטא‑דאטה של המסמך11-006
למאפיין dc:title ב‑XMP (ולשאר המטא‑דאטה) אין xml:lang, ולקטלוג אין /Lang.
מה קורא מסך עושה: כותרת המסמך מוכרזת בהגייה של השפה הלא נכונה.
אזהרההשפה הטבעית אינה מתאימה11-007
השפה המוצהרת אינה השפה שבה הטקסט כתוב בפועל.
מה קורא מסך עושה: עברית שמוקראת בקול אנגלי אינה עברית במבטא — היא איות של שמות אותיות, או שקט.
13 Graphics
אזהרהאובייקט גרפי שאינו מתויג כ‑Figure13-001
תמונה, תרשים או ציור שאינם עטופים באלמנט Figure אינם חלק ממבנה המסמך. אין להם מקום בסדר הקריאה, ולא ניתן לתלות בהם טקסט חלופי.
מה קורא מסך עושה: התמונה פשוט אינה קיימת עבור הקורא: היא אינה מוכרזת, אי אפשר לנווט אליה, והמידע שבה אובד לגמרי.
חוסםלתג Figure אין טקסט חלופי או טקסט מחליף13-004
תמונה בלי /Alt או /ActualText היא חור במסמך: הקורא יודע שיש כאן משהו ולא יודע מה.
מה קורא מסך עושה: הקורא מכריז “גרפיקה” ועוצר. מי שמסתמך עליו לא יֵדע מה מופיע בתמונה.
14 Headings
אזהרהכותרות אינן מתויגות כ‑Heading14-001
טקסט שנראה ככותרת — מודגש, גדול יותר — מתויג כפסקה רגילה.
מה קורא מסך עושה: רשימת הכותרות, שהיא כל מנגנון הניווט במסמך ארוך, ריקה.
חוסםתגית הכותרת הראשונה אינה H114-002
המסמך משתמש בכותרות ממוספרות (H1–H6), אך הראשונה שמופיעה בעץ המבנה אינה H1.
מה קורא מסך עושה: המתאר מתחיל באמצע ההיררכיה, ולכן הקורא מכריז כותרת ברמה 2 בלי הורה — המשתמש שומע שהוא נמצא בתוך סעיף שאינו קיים.
חוסםרמות כותרות ממוספרות מדלגות14-003
אחרי H1 מגיעה H3. משתמש שמנווט לפי רמה 2 מדלג על תוכן בלי לדעת שהוא קיים.
מה קורא מסך עושה: הקורא מדווח על מבנה שאינו תואם את המסמך, וניווט לפי רמה מפספס חלקים.
15 Tables
אזהרהבשורה יש תא כותרת, אך הוא אינו מתויג ככותרת15-001
התא השמאלי ביותר בכל שורה (או הימני ביותר, בכתיבה מימין לשמאל) מתאר את השורה, אך מתויג כ‑TD במקום TH.
מה קורא מסך עושה: בתנועה במורד עמודה הקורא אינו יכול להכריז באיזו שורה אתם — שומעים ערכים בלי התוויות שלהם.
אזהרהלעמודה יש תא כותרת שאינו מתויג ככותרת15-002
שורת הכותרת של הטבלה מכילה תאי TD במקום TH.
מה קורא מסך עושה: בתנועה לאורך שורה הקורא מכריז ערכים חשופים בלי שמות עמודות.
חוסםלתא כותרת (TH) אין Scope או הפניות Headers15-003
תא כותרת שאינו אומר אם הוא מוביל שורה או עמודה משאיר את הקורא לנחש.
מה קורא מסך עושה: הקורא מכריז את הערך בלי לומר לאיזו עמודה הוא שייך.
דורש הכרעהטבלה מורכבת אינה משתמשת בהפניות Headers/ID15-005
תאים ממוזגים או שתי שורות כותרת אינם ניתנים לביטוי באמצעות Scope בלבד.
מה קורא מסך עושה: הקורא משייך ערכים לכותרות שגויות, או לא לכותרת כלל.
16 Lists
אזהרהתוכן הוא רשימה אך אינו מתויג כרשימה16-003
פסקאות שמתחילות במקף או בתו תבליט אינן רשימה מבחינת המבנה.
מה קורא מסך עושה: הקורא אינו מכריז „רשימה, 5 פריטים”, והמשתמש אינו יודע כמה פריטים יש או היכן הרשימה מסתיימת.
18 Page Headers and Footers
אזהרהכותרות עליונות ותחתונות אינן מסומנות כ‑artifact של עימוד18-001
מספר עמוד ושורת לוגו חוזרים בכל עמוד. כשהם בעץ המבנה הם נקראים שוב ושוב באמצע התוכן.
מה קורא מסך עושה: הקורא מקריא את מספר העמוד ואת הכותרת הרצה בכל מעבר עמוד, בתוך רצף המשפטים.
27 Navigation
דורש הכרעהאין בדיקות ייעודיות לניווט27-001
התקן PDF/UA-1 אינו קובע כאן בדיקה מכנית, אך מסמך ארוך בלי סימניות נכשל בפועל ב‑WCAG 2.4.5, וזו התלונה הנפוצה ביותר במכרזים.
מה קורא מסך עושה: חלונית הסימניות ריקה; הניווט היחיד שנותר הוא רשימת הכותרות.
28 Annotations
חוסםלהערה או לקישור אין תיאור נגיש28-004
לכל הערה שאינה פקד טופס דרוש תיאור: או ערך Contents בהערה עצמה, או Alt באלמנט המבנה שעוטף אותה. בלי אחד מהם אין לקורא המסך מה להקריא מלבד סוג ההערה.
מה קורא מסך עושה: ההערה מוכרזת בסוג שלה בלבד — «קישור», «קישור», «קישור» — ורשימת הקישורים של הקורא מלאה בשורות זהות שאי אפשר להבחין ביניהן.
חוסםלשדה טופס אין תיאור נגיש28-005
לשדה יש שם פנימי ואין /TU, ולכן אין לו שם שמוכרז.
מה קורא מסך עושה: הקורא מכריז „Text1” במקום „תאריך לידה”. טופס של שלושים שדות כאלה אינו שמיש.
חוסםבעמוד שמכיל הערה אין ערך Tabs28-008
כל עמוד שיש בו הערות חייב להגדיר סדר ניווט. התקן PDF/UA-1 מחייב את הערך S ב‑Tabs — סדר הניווט הולך לפי עץ המבנה.
מה קורא מסך עושה: המיקוד עובר בין קישורים ושדות לפי הסדר שבו הם מופיעים במערך ההערות — בדרך כלל סדר היצירה, לא סדר הקריאה.
חוסםבעמוד שמכיל הערה יש ערך Tabs שאינו S28-009
הערך Tabs קיים, אבל מוגדר ל‑R (סדר שורות) או ל‑C (סדר עמודות) במקום ל‑S (סדר המבנה).
מה קורא מסך עושה: סדר הניווט הולך לפי המיקום בעמוד ולא לפי המבנה הלוגי — ובמסמך מימין לשמאל, התוצאה הרסנית.
חוסםהערת Widget אינה נמצאת בתוך תג Form28-010
כל פקד טופס חייב להיות בתוך רכיב מבנה מסוג Form.
מה קורא מסך עושה: לפקד אין מקום בסדר הקריאה, ולכן הוא מוכרז מחוץ להקשר או מדולג.
חוסםלהערת קישור אין רכיב מבנה Link28-011
הקישור לחיץ בעכבר ואינו קיים בעץ המבנה.
מה קורא מסך עושה: הקישור פשוט אינו קיים עבור קורא מסך.
חוסםהערת קישור אינה כוללת תיאור חלופי בערך Contents28-012
הערות קישור צריכות ערך Contents שמתאר לאן הקישור מוביל.
מה קורא מסך עושה: ברשימת הקישורים של הקורא מופיעה שורה ריקה, או כתובת שמוקראת תו‑תו.
31 Fonts
חוסםגופן שבו מוצג טקסט אינו מוטמע בקובץ31-009
תוכנית הגופן עצמה אינה נמצאת בתוך ה‑PDF, כך שהקובץ תלוי בכך שאותו גופן יהיה מותקן במחשב שפותח אותו. אם אינו מותקן, הקורא מחליף אותו בגופן אחר — ובעברית זה בדרך כלל גופן שאין בו את האותיות, והמסמך מוצג כריבועים.
מה קורא מסך עושה: החלפת גופן משנה את המיפוי מקודי תו ל‑Unicode. קורא מסך מקריא אז תווים שאינם מה שנכתב, או אינו מקריא דבר — הטקסט נראה על המסך ואינו קיים עבורו.
חוסםערכי Unicode ב‑ToUnicode CMap הם אפס31-028
הערך U+0000 אינו יעד מיפוי תקין; בדרך כלל זה אומר שהיצרן לא הצליח לקבוע את התו וכתב ממלא מקום.
מה קורא מסך עושה: התווים האלה מחולצים כ‑NUL, ואז מושמטים או מוכרזים כרעש.
TG-RTL Right-to-left text and reading order (Taggart extension)
חוסםטקסט מימין לשמאל מאוחסן בסדר ויזואליTG-RTL-001
מערכות ישנות של ממשל, משפט ו‑DTP בישראל פורסות עברית על ידי היפוך סדר התווים ואז ציור משמאל לימין. הדף נראה תקין, אבל הטקסט השמור הפוך.
מה קורא מסך עושה: קורא המסך מכריז את המשפט הפוך — גם סדר המילים וגם סדר האותיות. זהו הכשל המרכזי של נגישות PDF בעברית, ואף כלי מקובל אינו מזהה אותו.
חוסםלקטע מימין לשמאל אין הצהרת שפהTG-RTL-002
המסמך מצהיר en-US ברמת הקטלוג ואינו דורס זאת, ולכן פסקאות בעברית יורשות אנגלית.
מה קורא מסך עושה: הקורא מבטא אותיות עבריות בסינתיסייזר אנגלי: רצף של שמות עיצורים במקום מילים.
אזהרהקטע מעורב כיוונים אינו מסודר נכוןTG-RTL-003
משפטים בעברית המכילים שמות מוצר, תאריכים, אחוזים או מספרי ציטוט הם המקרה הקשה ביותר. מפיקים לרוב הופכים את העברית ומשאירים את הלטינית, או הופכים הכול.
מה קורא מסך עושה: המילים באנגלית בתוך משפט עברי מוכרזות במקום שגוי, לעיתים קרובות בקצה השני של המשפט.
חוסםסדר הקריאה אינו מודע לימין‑לשמאלTG-RTL-004
כלי תיוג אוטומטי מסדרים בלוקים משמאל לימין ומלמעלה למטה. בפריסת שני טורים בעברית הסדר הנכון מתחיל בטור הימני.
מה קורא מסך עושה: הקורא מכריז את הטור השני לפני הראשון, כך שכל עמוד נקרא כשתי מחציות משולבות.
אזהרהסימני פיסוק או ספרות בימין‑לשמאל ממוקמים שגויTG-RTL-005
נקודה שמצוירת בקצה השמאלי של שורה עברית חייבת להישמר בסוף המחרוזת הלוגית, לא בתחילתה. סוגריים נשמרים כתו הפותח או הסוגר הלוגי, לא כתו המשוקף.
מה קורא מסך עושה: הקורא מכריז פיסוק בתחילת משפטים וסוגריים שאינם תואמים.
דורש הכרעהלא ניתן היה לקבוע את סדר האחסון של טקסט מימין לשמאלTG-RTL-006
שני אותות מכריעים אם שורה מימין לשמאל מאוחסנת בסדר ויזואלי או לוגי: הכיוון שבו פעולות הצגת הטקסט מתקדמות על הדף, והאם אותיות שמופיעות רק בסוף מילה אכן יושבות בסוף המילים. יש שורות שאינן נותנות אף אחד מהשניים — שורה שנצבעת כפעולה אחת אין לה כיוון לקרוא, ושורה קצרה עשויה לא לשאת אף אות כבולת־מיקום. השורות האלה מפורטות כאן במקום להיספר כעוברות. מסמך שכל שאר שורותיו תוקנו אך נותרו בו שורות שלא הוכרעו לא הוכח כתקין; הוכח שלא ניתן להוכיח שהוא שגוי, וזו טענה אחרת.
מה קורא מסך עושה: אם השורות שלא הוכרעו אכן מאוחסנות בסדר ויזואלי, קורא מסך יכריז אותן הפוך — מדויק באות ונטול משמעות. פתחו את תצוגת קורא המסך והאזינו לשורות שמפורטות כאן.
TG-STRUCT Structure-tree hygiene (Taggart extension)
אזהרהאלמנט מבנה שמכיל רק רווחיםTG-EMPTY-001
כלי כתיבה מייצרים פסקה ריקה בכל מקום שבו המחבר לחץ אנטר פעמיים, וכל אחת מהן הופכת ל‑<P> בעץ המבנה שמחזיק רווח בודד. זה לא כשל של אף תנאי Matterhorn — שום דבר לא שבור בקובץ — אבל קורא שעובר אלמנט אחרי אלמנט עוצר בכל אחד מהם לחינם. בייצוא רגיל מ‑Word יש בדרך כלל תריסר; בדוח ארוך, מאות. רווחים אינם תוכן, והמקום הכן שלהם הוא זרם הארטיפקטים, שם כבר יושבת ריהוט הדף.
מה קורא מסך עושה: בניווט לפי אלמנטים הקורא מכריז "ריק" או פשוט שותק וממתין, פעם אחת לכל אלמנט ריק. זה לא מטעה, זה מייגע — והייגוע הוא מה שגורם לאנשים להפסיק להשתמש בקורא מסך על מסמך ולבקש מעמית להקריא להם אותו.
TG-SCAN Scanned documents
חוסםהעמוד הוא תמונה של טקסט ואין בו שכבת טקסטTG-SCAN-001
עמוד סרוק הוא תצלום של עמוד. אין בקובץ אובייקט טקסט בכלל, אז אין מה לתייג, אין מה לסדר ואין מה להקריא — כל תיקון מבנה במנוע הזה לא עושה דבר. זה גם המקרה הנפוץ ביותר במאגרי מסמכים אמיתיים והתיקון שמשנה הכי הרבה, כי המסמך עובר מבלתי-קריא לקריא ולא מתיוג גרוע לתיוג טוב. הזיהוי כותב את המילים מתחת לתמונה כשכבה שקופה; בתמונה עצמה אין נגיעה, והעמוד נראה בדיוק כמו קודם.
מה קורא מסך עושה: הקורא מכריז “גרפיקה” ועוצר, או שותק לגמרי. גם אי אפשר לחפש, לסמן או להעתיק שום דבר — עבור מי שמשתמש בטכנולוגיה מסייעת המסמך פשוט לא קיים.
שאלות
מה זה פרוטוקול Matterhorn?
הוא אינו תקן נוסף. זו החלוקה של PDF/UA-1 על ידי איגוד ה‑PDF ל‑31 נקודות בדיקה ו‑136 תנאי כשל ספציפיים, שמתוכם 87 ניתנים להכרעה על ידי מכונה ו‑47 דורשים שיקול דעת אנושי. זו הדרך לבדוק את PDF/UA-1, לא משהו לעמוד בו בנפרד.
למה רק חלק מהתנאים מופיעים כאן בעברית?
מפני שאלה התנאים שמשתמש באמת פוגש. השאר מתארים מבנים פנימיים של מילוני גופנים — ערכי CIDSystemInfo, כניסות CMap — שאינם מופיעים בדוח שאדם קורא. תרגום מכונה של 142 דפים היה בדיוק מה ש‑Google מזהיר מפניו, והוא לא היה אומר דבר שמישהו יכול להשתמש בו.
איזה מהתנאים ייחודי לעברית?
חמשת תנאי TG-RTL הם הרחבה של טאגארט לפרוטוקול, ואינם מופיעים ב‑Matterhorn המקורי — הוא נכתב עבור כתב משמאל לימין. הם מתארים טקסט שאוחסן בסדר ויזואלי, קטע ללא הצהרת שפה, ערבוב כיוונים, סדר קריאה בעמוד דו‑טורי מימין לשמאל, ופיסוק שנשמר בצד הלא נכון של המחרוזת.
איפה הפירוט המלא?
דפי התנאים המלאים נכתבים באנגלית, מפני שהם מלאים בשמות אובייקטים ובסעיפי תקן שמופיעים בקובץ עצמו כפי שהם. כל שורה כאן מקשרת לדף שלה.
בדקו קובץ משלכם. הבדיקה חינמית — בלי חשבון עד 60 עמודים, ובלי מגבלת עמודים עם חשבון חינמי — ותיקח כשנייה לומר לכם מול מה אתם עומדים.
New checks, as they are written
A short note when a batch of /checks/ pages goes up, when the rule set changes, or when something ships. No more than monthly, and nothing else — no drip sequence, no webinar invitations.
One click to unsubscribe, in every message. We do not sell or share the list.