מבנה html לעומת xhtml
html היא שפת תגיות, שהומצאה ע"י טים ברנרס-לי, פיזיקאי במקור, במטרה לאפשר לחוקרים בתחומו לשתף פעולה ולחלוק מידע. כוונתו הייתה לאפשר הפיכת כל מסמך למסמך שניתן להציגו באינטרנט, כך שיוכל לשמש כל אדם שיש לו גישה לרשת. שפת html מורכבת מקוד טקסטואלי קריא שכל אדם מסוגל להבין את מבנהו, והיא משמשת ליצירת עמודי אינטרנט ועיצובם. שפה זו נחשבה מאז לסטנדרט ברשת האינטרנט, אולם מאז שחברת מיקרוסופט פיתחה את מבנה xml - פורמט להגדרת מבנה נתונים, וזה נקבע כתקן ע"י ארגון World Wide Web Consortium - w3c, השתנו פני הדברים בעולם בניית האתרים.
ברנרס-לי הקים את ארגון w3c בשנת 1994, ושם לו למטרה להביא את האינטרנט למיצוי הפוטנציאל שלו עי" הגדרת תקנים והמלצות שיבטיחו את התפתחות וצמיחת האינטרנט בכיוון הנכון. המעבר לתקן xhtml מדגים את העיקרון הזה של ה-w3c. הארגון הכניס לשימוש את תקן xhtml לראשונה בשנת 2000. זהו תקן נוקשה ומגביל הרבה יותר מהתקן של html. מבנה זה הינו בבסיסו html שעליו הולבשו כל הגבלות הסינטקטיקה של פורמט xml, כגון הדרישה שלכל תגית תהיה תגית סגירה (או שהתגית תסגור את עצמה). בכל גירסת xhtml התווספו הגדרות מדוייקות יותר והגבלות נוספות, כגון תגיות שמותר לקנן בתוך אחרות ותגיות שאסור (אלו הן הגדרות בפורמט DTD סטנדרטיות כמו לכל xml). שורת ה- DOCTYPE הראשונה בכל דף באתר שלכם, תראה לכם לפי איזה תקן ואיזו גירסה נכתב הדף (שם גם תראו את הקישור ל-DTD עם בדיקות הסמנטיקה על ה-xhtml במידה והאתר בנוי ב xhtml כמובן).
גירסת xhtml הראשונה היא גירסה 1.0, שהגיעה ב-3 חומרות בדיקה:
- xhtml 1.0 frameset - גירסה פחות מחמירה, שנועדה למי שמתקשה לעבור לתקן xhtml ומעדיף קוד גמיש יותר ופחות הגבלות
- xhtml 1.0 transitional - הגירסה הנפוצה ביותר של תקן xhtml, שנועדה ליצור מעבר חלק של המתכנתים מקוד html לקוד xhtml
- xhtml 1.0 strict - הגירסה הנוקשה ביותר של xhtml 1.0
בהמשך, התפתחה גירסה 1.1 עבור תקן xhtml שהיתה מבוססת כולה על xhtml 1.0 strict וכללה תיקונים קוסמטיים והגבלות שפה לא משמעותיות נוספות. גם גירסת xhtml 2.0 יצאה, אך זו נחלה כישלון חרוץ בשל הגבלות מיותרות ואי תאימות לאחור. נכון לרגע כתיבת מאמר זה, גירסה 1.1 היא האחרונה והמחמירה ביותר, כאשר גירסה 2.0 איננה נתמכת יותר ואין ממשיכים את פיתוחה. העתיד כנראה צופן לנו את גירסת xhtml 5.0 שתהיה תואמת לסטנדרט המדובר בימינו, html 5.0, כמובן עם ההגבלות הרלוונטיות של פורמט ה-xml. גירסה זו צפוייה להגיח אל העולם רק לקראת סוף 2011 ולכלול מבנה סמנטי ברור יותר (עם תגיות עבור header, menu, footer) ותגיות מולטימדיה ייחודיות.
היתרון של תקן xhtml על פני תקן html
תקן xhtml הינו, כאמור, תקן נוקשה הרבה יותר מאשר תקן html ולכן הוא מעלה מספר יתרונות על פני תקן html, ואלו הם:
- תאימות לדפדפנים - התקן נותן פחות "חשיבה יצירתית" לדפדפן כיצד להציג את הנתונים, ולכן ברוב המקרים אתר שנכתב תחת תקן xhtml הוא אתר שיראה זהה תחת כל הדפדפנים השונים.
- סריקה טובה יותר של הקוד על ידי העכביש של גוגל - עמידה בתקן מבטיחה כי גוגל יסרקו את הדפים בצורה חלקה יותר ומהירה יותר.
- הפרדת קוד ועיצוב - התקן כופה הפרדה בין קוד לעיצוב, ואינו מאפשר שימוש בתגיות עיצוב בתוך הקוד, תגיות שהיו מאושרות לשימוש בתקן html (כגון תגיות font, color, size וכיו"ב). ההפרדה הזו טובה במספר דברים:
- קוד קטן יותר ומהיר יותר - שכן קוד האתר איננו נשמר בזכרון המטמון של הדפדפן, בעוד קובץ ה-CSS ששומר את התכונות העיצוביות כן נשמר בזכרון המטמון.
- קוד סמנטי - הקוד עצמו מתאר בדיוק את המבנה ההיררכי שעל המסך ואת הפונקציונאליות, ולכן הוא קריא יותר ונוח יותר לעבודת המתכנתים.
- יכולת שדרוג עתידית נוחה יותר - במידה ורוצים לבצע תיקוני עיצוב, קל יותר לעשותם, שכן כמעט ואין צורך לתיקוני קוד, אלא רק לתיקון קובץ ה-CSS.
- תרומה לקידום האתר - קוד xhtml הוא בד"כ קטן יותר ומהיר יותר, ועל כן תורם לקידום האתר במנועי החיפוש, כיוון שמהירות עליית הדפים היא פרמטר (אמנם שולי, אך עדין...) לאיכות האתר בעיניי גוגל ולדירוג שלו בתוצאות החיפוש.
מה אין בתקן xhtml?
שימוש בתקני xhtml עדיף על פני שימוש בתקני html, אך עם זאת, ישנם דברים שאינם נבדקים ואינם נכפים עדין ב xhtml. למשל:
- כתיבה לא סמנטית באמצעות טבלה - בנייה נכונה של אתר נעשית באמצעות מבנה היררכי בקוד ה-html ותגיות DIV. לצערנו, רבים עדין רגילים לצורת הכתיבה עתיקת היומין באמצעות מבנה טבלאי. המבנה הטבלאי הוא הכנסה של עיצוב לתוך הקוד ויחד איתו הקוד נעשה מנופח יותר, קשה לקריאת ועבודה, נסרק לאט יותר ע"י גוגל, ועולה לאט יותר בדפדפן. תקן xhtml כופה משטר סמנטיקה נוקשה, אך עדין איננו מסוגל להבחין בין קוד טבלאי שמייצג טבלה לבין קוד טבלאי שאיננו מייצג טבלה, ולכן אינו כופה (כי איננו יכול) כתיבת קוד נכונה באמצעות תגיות DIV.
- הטמעת עיצוב באמצעות תגיות עיצוב style - למרות שלא ניתן יותר להשתמש בתגיות עיצוב שונות, עדין נותר השימוש בתגית העיצוב הכללית style. המטרה המרכזית היא לאפשר עיצוב תוכן באמצעות מערכות ניהול, אך יש מי שעושה שימוש לא נכון בתגית ויכול לבנות אתרים שבהם הקוד מעורבב עם העיצוב, ותקן xhtml עדין עובר בהצלחה.
תקני w3c לקוד האתר
ארגון w3c הוא ארגון בין לאומי שעוסק בתקנים בתחום האינטרנט. מטרת ארגון זה "לתקן" את רשת האינטרנט, שכן היא סובלת מבעיות אבטחה, נגישות, עיצוב ובעיות שונות נוספות. לשם כך קובע ארגון w3c סטנדרטים (שנקראים המלצות - recommandations) בתחום האינטרנט, והוא הפך למעצמה בתחומו בזכות כלים שהוא מספק בתחום בניית אתרים. בין הכלים שנמצאים באתר של הארגון, נמצאים HTML and Markup Validator וכן CSS Validator שבאמצעותם ניתן לבדוק לגבי כל דף באינטרנט, האם הוא עומד בתקנים המתאימים של w3c. אתר שאכן עומד בתקנים אלו יכול "להתגאות" בכך שהוא אתר תקני ע"י הצגת אייקון עם אישור על תקינותו, כך שגולשי האתר יוכלו להתרשם מעמידתו בתקנים המחמירים. ובאמת, מי לא ירצה שכל העולם יידע שהאתר שלו מקצועי ובנוי נכון? מיליוני אתרים בארץ ובעולם קפצו על המציאה, ובתמורה לתו התקן שהארגון מספק לאתרים אלה, הם "משלמים" באמצעות הוצאת קישור לאתר של w3c, שהרי האייקון עם תו התקן הוא קישור לחיץ לאתר הארגון, כפי שניתן לראות בתחתית דף זה (ובינינו, לא מגיע ל-w3c הקרדיט הראוי?).
כתיבת האתר בקוד תקין חשובה לאיכות האתר. מומלץ לבדוק באתר שבונים, האם כל דף ודף באתר עובר את בדיקת התקנים ללא הודעות שגיאה. לבדיקה האם האתר שלך עומד בתקן xhtml הכנס לקישור The W3C Markup Validation Service והזן את כתובת העמוד בשורה המיועדת לכך. לאחר מכן לחץ על check.
ומה עם האתר שלך? האם הוא עבר את בדיקת התקן?