HTML5 (ראשי תיבות של: 5 HyperText Markup Language) היא שפת תגיות וטכנולוגיה מרכזית באינטרנט המשמשת לעיצוב המבנה והתצוגה של תוכן ברשת האינטרנט, והיא הגרסה החמישית של שפת התגיותHTML. נכון לאוקטובר 2014, זוהי הגרסה האחרונה והמלאה ביותר של HTML5, כפי שהוגדר על ידי W3C,[1] הארגון המרכזי העוסק בתקינה ברשת. הגרסה הקודמת, HTML 4, תוקננה ב-1997.
השינויים המרכזיים נועדו לשיפור השפה בעזרת תמיכה במולטימדיה, תוך כדי שמירה על אופייה העקבי, הקריא והברור לבני אדם ולמחשבים (דפדפנים, מנתחי תוכן וכדומה). מטרתה של HTML5 היה לא רק להחליף את HTML 4, אלא גם את XHTML 1 ואת DOM רמה 2.[2]
אחרי הקודמים לה, HTML 4.01 ו-XHTML 1.1, HTML5 היא הפתרון לכך ש-HTML ו-XHTML בשימוש הנפוץ ברשת האינטרנט הם ערבוב של תכולות שונות שנוצרו בתקנים שונים, יחד עם תכולות שנקבעו על ידי מוצרי תוכנה חיצוניים, כמו דפדפנים. HTML5 מנסה, בנוסף, להגדיר שפת סימון יחידה שיכולה להכתב גם כ-HTML וגם כ-XHTML, והתקן מכיל מידע מפורט שאמור לעודד מימושי תאימות. היא מרחיבה, משפרת והופכת את הסימונים הקיימים במסמכים להגיוניים, ומציעה דרכים נוחות לסימון וממשקי תכנות יישומים עבור יישומי אינטרנט מסובכים.[3] מסיבות אלו, HTML5 גם היא שפה חוצה-פלטפורמות במובייל. אפשרויות רבות ב-HTML5 נבנו תוך התחשבות ביכולת לרוץ על מכשירים חסכוניים בחשמל, כמו מחשבי לוח או טלפונים חכמים. בדצמבר 2011, קבוצת המחקר Strategy Analytics חזתה שעליות מכירות הטלפונים שתומכים ב-HTML תגיע למיליארד מכשירים ב-2013.[4]
HTML5 הוסיפה, בעיקר, מספר רב של תכונות תחביריות חדשות. תכונות אלו כוללות שימוש ב-MathGL לנוסחאות מתמטיות, וכן הוספת אלמנטים חדשים שהחליפו את תגי ה-<object> הרגילים, כמו <video>, <audio>, <canvas> יחד עם שילובם של Scalable Vector Graphics (SVG). אפשרויות אלו עוצבו על מנת לאפשר שילוב של מולטימדיה ותוכן גרפי באתר בקלות יחסית, מבלי שיהיה צורך לעשות שימוש ב-API או תוספים קנייניים. תגים חדשים שאחראיים על מבנה העמוד כוללים את <main>, <section>, <article>, <header>, <footer>, <aside>, <nav> ואת <figure>. הם עוצבו על מנת להעשיר את התחביר של תוכן המסמכים. מאפיינים חדשים הוספו עבור תגיות HTML, ואלמנטים ומאפיינים מסוימים הוסרו. אלמנטים מסוימים, כמו <cite>, <a> ו-<menu> שונו, הוגדרו מחדש ותוקננו. ה-API וה-DOM כבר לא מהווים חלק משני, אלא ממש מהווים חלק בבניית היסודות והתקנון של HTML5. HTML5 גם מגדיר בפירוט כיצד לעבד מסמכים לא תקניים, כך שטעויות התחביר יטופלו בצורה אחידה בכל הדפדפנים.
אף על פי שתכולות מסוימות ב-HTML5 מושוות לעיתים קרובות ל-Adobe Flash, שתי הטכנולוגיות שונות מאוד. שתיהן מאפשרות לנגן שמע ווידאו מתוך דפי אינטרנט, וכן להשתמש ב-SVG. HTML5 בעצמה לא יכולה בעצמה לשמש להנפשה – חובה להשתמש גם ב-CSS או ב-JavaScript. ישנן יכולות רבות של Flash שאינן קיימות ישירות ב-HTML5.
אף על פי ש-HTML5 מוכר בקרב המפתחים כבר שנים, היכולות האינטראקטיביות שלו פרצו לתודעת הציבור והמדיה רק בסביבות אפריל 2010,[7][8][9][10] אחרי שמנכ"ל חברת אפל דאז, סטיב ג'ובס, הוציא מכתב פומבי שכותרתו הייתה "מחשבות על Flash", בו הוא הסיק ש"Flash אינה נדרשת יותר כדי לצפות בסרטונים או לצרוך כל סוג של תוכן ברשת", וש"סטנדרטים חדשים שנוצרים בעידן הטלפונים הניידים, כמו HTML5, ינצחו".[11] התבטאות זו עוררה מחלוקת בקרב מפתחי ה-Web, בה חלקם הזכירו שבזמן ש-HTML5 מציעה יכולת משופרת, מפתחים חייבים להתחשב בתמיכה בדפדפנים השונים כמו גם בשוני בין האפשרויות הקיימות ב-Flash לבין אלו הקיימות ב-HTML5.[12] בתחילת נובמבר 2011, חברת Adobe הודיעה שתפסיק את הפיתוח של Flash למכשירים הניידים ותתעל את המאמצים שלה לטובת פיתוח כלים בעזרת HTML5.[13]
Mozilla Foundation ו-Opera Software הציגו נייר עמדה בסדנה של W3C ביוני 2004,[14] המתמקד בפיתוח טכנולוגיות עם תאימות לאחור עבור דפדפנים קיימים,[15] כולל טיוטה ראשונית של Web Forms 2.0. הסדנה נסגרה בהצבעה שתוצאותיה היו 8 בעד ו-14 נגד על המשך העבודה על HTML.[16] מיד לאחר הסדנה, WHATWG נוצרה והתחילה לעבוד בהתאם לנייר העמדה, וטיוטה שנייה, Web Applications 1.0, הוכרזה גם היא.[17] כעבור זמן, שתי ההצעות אוחדו ומהן נוצר HTML5.[18] תקן ה-HTML5 אומץ כנקודת פתיחה של קבוצת העבודה על HTML מטעם W3C בשנת 2007.
2008 – הטיוטה הראשונה
WHATWG פרסמה את טיוטת העבודה הראשונה הפומבית ב-22 בינואר 2008.[19] חלקים מ-HTML5 כבר מומשו בדפדפנים אף על פי שלא התקבלה החלטה שנותנת המלצה על התקן.
2011 – קריאה אחרונה
ב-14 בפברואר 2011, גוף התקינה W3C האריך את תקופת העבודה של קבוצת העבודה על HTML, יחד עם יעדים ברורים עבור HTML5. במאי 2011 קבוצת העבודה קידמה את HTML5 ל"קריאה אחרונה", הזמנה לקהילות מחוץ ומבית לאשר את התקינות הטכנית של המפרט. W3C פיתחו סדרת בדיקות מקיפה על מנת להגיע לתאימות רחבה עד לתקינה מלאה ב-2014, תאריך יעד להמלצה על התקן.[20] בינואר 2011, שינו ה-WHATWG את שם התקן שלהם ל-"HTML". ה-W3C לעומת זאת המשיכה את הפרויקט לשחרור HTML5.[21]
2012 – המלצה כמועמד
ביולי 2012, ה-WHATWG וה-W3C החליטו על הפרדה. ה-W3C ימשיך את העבודה על HTML5, תוך שהוא מתמקד בתקן סופי ומקיף, שנחשב על ידי WHATWG "תמונת מצב". ארגון ה-WHATWG ימשיך לפתח את HTML5 כ"תקן חי". התפיסה של תקן חי אומרת שהתקן לעולם לא מושלם והוא תמיד מעודכן ומשופר. ניתן להוסיף תכולות חדשות, אך לא מוחקים שימושיות.[22]
בדצמבר 2012, W3C ייעד את HTML5 להמלצה כמועמד.[23] המדד להתקדמות להמלצה של W3C היא "שני מימושים שמושלמים ב-100% ומקיימים תפעוליות בינית מלאה".[24][25]
2014 – הצעה להמלצה והמלצה
בספטמבר 2011, W3C העביר את HTML5 למצב "מועמד להמלצה".[26]
ב-28 באוקטובר 2014, HTML5 שוחרר כמומלץ ספוית על ידי W3C, ומשמעו שתהליך העבודה על התקינה הושלם.[27]
תוכניות לעתיד
בספטמבר 2012, ה-W3C הציעו תוכנית[28] לשחרר המלצה סופית על HTML5 עד סוף 2014 (ההמלצה שוחררה באוקטובר), והמלצה סופית על התקן של HTML 5.1 עד סוף 2016.
W3C הציעו הסתמכות גדולה יותר על מודולריות כמפתח להתקדמות מואצת, כלומר זיהוי תכולות ספציפיות, בין אם כאלו שכבר הוצעו ובפרט כאלו שקיימות בתקן, וקידומן לתקינה נפרדת. חלק מהטכנולוגיות שבמקור הוגדרו ב-HTML5 עצמו מוגדרות עכשיו בתקינות נפרדות.
אחרי קבלתו של HTML5 כתקן באוקטובר 2014,[29] תכולות הליבה מורחבות בארבע דרכים.[30] חלקים מסוימים מתקינת ה-HTML5 המקורית מתוקננים בנפרד כמודולים (APIים) כמו Microdata ו-Canvas. תקינות שהוצגו כתוספות ל-HTML5 כמו סימון רב לשוני (Polyglot Markup) עוברים הליך תיקנון בנפרד כמודולים. חלק מהתקנים של W3C שבמקור הופרדו, מוחזרים ל-HTML5 כתוספות או תכולות, לדוגמה, SVG. התכולות שיאטו את התיקנון של HTML5 יעברו הליך תקינה בנפרד ב-HTML 5.1 או ב-HTML 5.2. העבודה על HTML 5.1 אמורה להסתיים ב-2016, והיא כרגע נמצאת במסלול התיקנון של W3C.
תכולות
תגיות
HTML5 מאפשרת תכונות ואלמנטים חדשים שמשקפים את השימוש באתרים עכשוויים. חלק מהם מהווים החלפה סמנטית לאלמנטים שמאגדים תוכן בבלוק (<div>) או בשורה (<span>), באלמנטים סמנטיים יותר, כמו <nav> (בלוק לניווט באתר), <footer> (בדרך-כלל נפוץ בתחתית האתר או בשורות האחרונות של קוד ה-HTML) או <audio> ו-<video> במקום <object>.
[31][32][33]
חלק מהאלמנטים שהוצאו משימוש ב-HTML 4.01 ננטשו, כולל אלמנטים הקשורים בתצוגה בלבד, כמו <font>, <center>, שיכולותיהם כבר מזמן הוחלפו מזמן על ידי CSS, שהוא בעל יכולות עשירות יותר. ישנה גם שימת דגש מחודשת על החשיבות של DOM scripting (לדוגמה, JavaScript) ברשת האינטרנט.
התחביר של HTML5 כבר לא מבוסס על SGML[34][35] אף על פי הדמיון בצורת הסימון. למרות זאת, HTML5 עוצב כך שתהיה תאימות לאחור בעיבוד הגרסאות הנפוצות הקודמות של HTML. השפה הציגה שורת פתיחה חדשה הדומה ל-הצהרת סוג המסמך של SGML, <!DOCTYPE HTML>, שמפעילה מצב העיבוד שתואם לתקן.[36] מאז 5 בינואר 2009, HTML5 מכיל גם את Web Forms 2.0, תקינה שהייתה בעבר תקינה נפרדת של WHATWG.[37][38]
Web Storage, תשתית אחסון בצורת צמד של מפתח-לערך המספקת התנהגות דומה לעוגיות אך עם שטח אחסון גדול יותר ו-API משופר.[51]
לא כל הטכנולוגיות שהופיעו מעלה נכללות בתקן HTML5 של W3C, אלא שחלקן נכללות בתקן ה-HTML של WHATWG.[52] טכנולוגיות דומות שאינן חלק מתקן ה-HTML5 של W3C וגם אינן חלק מתקן ה-HTML של WHATWG מופיעות להלן. ה-W3C מפרסם את התקנים האלו בנפרד:
HTML5 לא יכול לספק הנפשה של דפי אינטרנט, ונדרשות תכונות נוספות של CSS3 ושל JavaScript כדי להנפיש אלמנטים של HTML. ניתן לעשות הנפשה גם באמצעות JavaScript ו-HTML 4,[61] ובאמצעות אלמנטים של SVG דרך SMIL.
XHTML5
מסמכי XML חייבים להיות מוגשים תחת סוג מדיה (לעיתים נקרא גם "MIME Type") של XML, כמו application/xhtml+xml או application/xml,[62] וחייבים לציית לתחביר המדויק והנוקשה של XML. XHTML5 הוא בעקרון מידע שנכתב כ-HTML5, מיוצג בצורת XML (לדוגמה, ללא תגיות לא סגורות) ונשלח עם אחד מסוגי המדיה של XML. HTML שנכתב כך שיתאים גם עבור תקן ה-HTML וגם עבור תקן ה-XML, וכזה שעיבוד שלו יצור את אותו עץ DOM בין אם נקרא בצורת HTML ובין אם נקרא בצורת XML, מכונה סימון רב לשוני ("Polyglot markup").[63]
טיפול בשגיאות
HTML5 עוצב כך שדפדפנים ישנים יוכלו להתעלם בבטחה מהמבנה החדש של HTML5.[3] בניגוד ל-HTML 4.01, התקן של HTML5 נותן מידע מפורט באשר לביצוע העיבוד הלשוני, מתוך כוונה שדפדפנים שונים ייצרו את אותה התוצאה במקרה של תחביר שגוי.[64] אף על פי שמוגדרת כיום התנהגות אחידה גם במקרים של מסמכים שכתובים באופן שגוי, מסמכים אלו עדיין לא ייחשבו כעומדים בתקן של HTML5.[64]
פופולריות
לפי דו"ח מ-30 בספטמבר 2011, 34 מתוך 100 האתרים הגדולים ביותר בעולם משתמשים ב-HTML5. אימוץ התקן הונע בעיקר על ידי מנועי חיפוש ורשתות חברתיות.[65] דו"ח אחר שפורסם באוגוסט 2013 מראה ש-153 מתוך 500 החברות המובילות בדירוג החברות של כתב העת Fortune בארצות הברית מימשו את אתר החברה שלהן בעזרת HTML5.[66]
שוני מ-HTML 4.01 ומ-XHTML 1.x
הרשימה הבאה היא רשימה חלקית של הבדלים ודוגמאות ספציפיות:
חוקי ניתוח חדשים: תוך ניסיון ליצירת ניתוח גמיש ותאימות; לא מבוסס על SGML
תכונות חדשות: charset (תחת meta), async (תחת script)
תכונות כלליות: id, tabindex, hidden וכן data-* (תכונות מותאמות אישית)
אלמנטים ישנים שיצאו מהשפה: <acronym>, <applet>, <basefont>, <big>, <center>, <dir>, <font>, <frame>, <frameset>, <isindex>, <noframes>, <strike>, <tt>
dev.w3.org מספקים את 'טיוטת העורכים' המעודכנת ביותר באשר של "ההבדלים בין HTML5 ל-HTML 4",[68] המספק את קווי המתאר המלאים של תוספות, הסרות ושינויים בין HTML5 לבין HTML 4.
לוגו
ב-18 בינואר 2011, ה-W3C הציגו לוגו כדי לייצג את השימוש ואת ההתעניינות ב-HTML5. בניגוד לסמלים אחרים שהופקו בעבר על ידי W3C, הלוגו לא הדגיש את התקינות או את התאימות לתקן מסוים. ב-1 באפריל 2011, הלוגו הפך להיות רשמי.[69]
בפעם הראשונה שהוצג הלוגו לציבור, הצהירו ה-W3C על הלוגו ל-HTML5 שהוא "זהות ויזואלית לצרכים כלליים, עבור מגוון טכנולוגיות אינטרנט, כולל HTML5, גיליונות סגנון מדורגים, SVG, WOFF, ואחרות."[70] חלק מהגופים התומכים בבניית התקן, כולל The Web Standards Project, ביקרו את ההגדרה של HTML5 כמושג שמכליל בתוכו טכנולוגיות רבות, וציינו את הטשטוש במינוח ואת הסיכוי ששימוש במינוח כזה מחזק תפיסות מוטעות.[70] לאחר שלושה ימים, W3C הגיבו למישוב של הקהילה ושינו את הגדרת הלוגו, כשהם משמיטים את השמות של הטכנולוגיות הקשורות.[71] ה-W3C ציינו שהלוגו "מייצג את HTML5, אבן הפינה של יישומי הרשת המודרניים".[69]
מנו ספורני, חבר ב-W3C, אמר שה-EME לא יפתור את הבעיות אותן הוא מתכוון לפתור.[83]
המתנגדים טענו שה-EME עצמו הוא רק ארכיטקטורה למנגנון שמאפשר תוספות DRM.[84]
הראשונים שאיפשרו להשתמש ב-DRM ב-HTML5 הם גוגל[85] ומיקרוסופט.[86] בין התומכים היה אפשר למנות את חברת Adobe.[87] ב-14 במאי 2014, Mozilla הצהירו שהם מתכננים לתמוך ב-EME בתוכנת הדפדפן שלהם, Firefox. הם טענו שזה "צעד קשה ולא נוח",[88][89] ואנדרס גל ממוזילה הסביר שהגרסאות העתידיות של פיירפוקס יישארו בקוד פתוח, אך יופצו בתוך ארגז חול שיפענח תוכן באמצעות הרחבה שפותחה על ידי Adobe.[88] אף על פי שהבטיח "לעבוד על פתרונות חלופיים", מישל בקר הצהיר שסירוב מצד Mozilla לממש EME עבור הדפדפן שלהם לא ישיג הרבה יותר מאשר שכנוע של הרבה אנשים להחליף דפדפן.[89] החלטה זו גונתה על ידי קורי דוקטורוב ועל ידי המוסד לתוכנה חופשית.[90][91]
^"HTML5 Differences from HTML4". Working Draft. World Wide Web Consortium. 5 באפריל 2011. Introduction. נבדק ב-2011-04-30. HTML 4 הפכה למומלצת על ידי ה-W3C בשנת 1997. אף על פי שהיא ממשיכה לשמש אותנו כמדריך גס של תכולות ליבה ב-HTML, היא לא מספקת מספיק מידע על מנת לבנות יישומים שיעבדו בהדדיות אחד עם השני, ויותר חשוב, עם כמות גדולה של תוכן. אותו דבר נכון גם לגבי XHTML 1, שמגדיר סריאליזציה של XML עבור HTML 4, ו-DOM ברמה 2, שמגדיר JavaScriptAPI עבור HTML ו-XHTML. HTML5 יחליף את המסמכים האלו.{{cite web}}: (עזרה)
^HTML5 DTD: "HTML5 is not SGML-based, and there will be no official DTD for it."
^HTML 5 Reference: "Although it is inspired by its SGML origins, in practice, it really only shares minor syntactic similarities." "As HTML5 is no longer formally based upon SGML, the DOCTYPE no longer serves this purpose, and thus no longer needs to refer to a DTD."