HTML

HTML (ראשי תיבות באנגלית: Hyper Text Markup Language; בעברית: שְׂפַת סִימָנֵי עֲרִיכָה לְתַמְלִיל-עָל) שפת תגיות לתצוגה ועיצוב דפי אינטרנט ותוכן לתצוגה בדפדפן. זו שפת התגיות המרכזית בעולם האינטרנט, המהווה שלד למרבית עמודי התוכן באינטרנט. השפה מאפשרת עיצוב תוכן בצורה מהירה, קלה ללימוד באופן יחסי וקלה לכתיבה.

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

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

קובצי HTML נשמרים בסיומות "" ו-"".

גרסאות

XHTML 

לאחר יציאת תקן HTML 4.0 התמקדה עבודת הסטנדרטיזציה של ה־W3C בגרסת XML של HTML. זו נקראה XHTML. היא נועדה להיות מוגדרת בצורה יותר ברורה כדי לפשט פענוח אוטומטי של מסמך HTML על ידי תוכנות.

HTML5 

בשנת 2004 החליטו מספר יצרני דפדפנים (מוזילה, אופרה ואפל, מפתחת הדפדפן Safari) להקים קבוצת עבודה, בשם WHATWG, שתתאם את פיתוח התקן לכיוונים אשר נדרשים באתרי אינטרנט מודרניים. קבוצת העבודה החלה לעבוד על הרחבות לתקן HTML שנודעו בשם הכללי HTML5. בהמשך הצטרפו לקבוצה נציגים של יצרני דפדפנים מובילים אחרים (כגון גוגל ומיקרוסופט). התקן הגיע לשלב סופי ("המלצת W3C") בשנת 2014.

שינוי מהותי בין HTML5 לגרסתו הקודמת, הוא תוספת תגים המתייחסים לתוכן המידע שבדף הרשת. לדוגמה - שימוש בתג DIV על מנת לתחום אלמנטים של קוד הורחב לתגים ייעודיים שנועדו לעיצוב כותרת עליונה, תחתונה, מאמר, תפריט ועוד. זאת, לצורך הקלה על יכולתן של מערכות ממוכנות, כגון מנועי חיפוש או קוראי מסך לעיוורים, להבין את התוכן המוצג. HTML 4, בהשוואה, הכיל אך ורק מידע הנוגע לאופי תצוגת דף האינטרנט ולא לתוכנו. בנוסף, נוספו תגיות המייצגות וידאו ואודיו, כדי לאפשר הפחתה של שימוש בתוספים חיצוניים על מנת להציג קובצי מולטימדיה.

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

חלוקת התגיות 
ניתן לחלק את התגיות למספר קבוצות:
 תגיות מבניות, המתארות את תפקיד המלל במסמך, כמו תגיות שקובעות את סוג הקידוד, אזורי סקריפטים, וכדומה. לדוגמה:  פירושו עבור הדפדפן - הצג את המלל "כלבי ים" ככותרת ראשית.
 תגיות תצוגה, שתפקידן לקבוע את האופן שבו יוצג המסך או חלקים ממנו, כמו סוג גופן, גודל גופן, צבע, צורת האותיות וכדומה. לדוגמה:  יגרום לדפדפן להציג מלל מודגש. תגיות מסוג זה אינן חוקיות בגרסאות האחרונות של תקן HTML, ומומלץ להשתמש ב-CSS במקומן.
 קישורים, שתפקידם לקשר את הדף, בלחיצת עכבר, לדפים אחרים. לדוגמה:  יצור קישור כזה: ויקיפדיה.
 תגיות המשמשות להצגת אובייקטים שונים, כגון תמונות, מדיה ופקדים. לדוגמה:  יציג את התמונה a.png בתוך המסמך.
 תגיות המשמשות ליצירת טפסים.

מבנה התגיות 
מבנה תגית ה-HTML דומה למבנה התגית ב-XML, ואפשר לתארו בצורה כללית:

התגית נפתחת תמיד ב שביניהם מופיע שם התגית (name בדוגמה), ולפעמים גם תכונות נוספות, באמצע מופיע התוכן (אם יש), וסוף התגית הוא , כלומר נוסף / לפני שם התגית.

במידה ותגית אינה מצריכה תוכן, כגון תגיות input,img,br - אז אין צורך להוסיף , במקומו מוסיפים את הסימן / בסוף התגית. לדוגמה: .

ניתן לחלק את התכונות הנוספות, שחלקן בגדר רשות ואת חלקן חובה לציין בתגיות מסוימות, לשתי קבוצות:
 ה-property שמופיע במבנה, הוא בעל ערך (ה - value).
 ה-method הוא תכונה בוליאנית, שערכה בעצם ציונה או אי-ציונה.

אפשר לציין יותר מתכונה אחת בתגית, בהתאם לתכונות הרלוונטיות לכל תגית.

עץ המסמך 

התגיות במסמך HTML מסודרות במבנה היררכי (של עץ) - המסמך מכיל ראש (head) וגוף (body). מבנה מסמך HTML בסיסי נראה כך:
<html>
	<head>
		<title>כותרת</title>
	</head>
	<body>
		תוכן הדף
	</body>
</html>
 תגית ה-html היא התגית הראשית, שבתוכה נכתב מסמך ה-HTML.
 תגית ה-head היא התגית שמסמלת את ראש המסמך. בתגית זו מיועדת לכותרת דף ה-HTML, למידע כללי על הדף, כותרת הדף, עיצובים ותסריטים.
 תגית ה-body היא התגית שמסמלת את גוף המסמך. בתגית זו נמצא תוכן המסמך.

כיוון שהמבנה היררכי, חשוב הקינון של התגיות (הסידור שלהן אחת בשנייה) לדוגמה:  תהווה טעות, והצורה התקנית תהיה: .

DOCTYPE 
לפי התקן, דפי אינטרנט צריכים להכיל תגית DOCTYPE בתחילת הדף, על מנת להצהיר על גרסת ה-HTML של הדף. דוגמה למשפט כזה:
 המציין כי הדף נבנה באמצעות HTML 4.01.

ישויות HTML 
ישות HTML (Entity reference) היא סימן טקסטי שלרוב אינו מופיע בא"ב של השפות השונות. מבנה של ישות HTML הוא כזה: ;name& כאשר "name" הוא שם הישות. קובץ הגדרות המסמך של HTML 4 מצהיר על 252 ישויות HTML.

הערות 
כמו בשפות תכנות רבות, גם ב־HTML ניתן לכתוב בקוד הערות, שמיועדות לתעד את הקוד ולעזור למתכנתים, אך אינן משפיעות על התצוגה. הערות ב־HTML מתחילות בתווים <!-- ומסתיימות בתווים -->.

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

היסטוריה
"האבא" (המקור) של HTML הוא תקן שנקרא SGML המיועד להעברת מסמכים אלקטרוניים וניהול מסמכים. זהו תקן בעל עושר תחבירי וגמישות, אבל זו הייתה ונשארה בעייתו הגדולה ביותר. רק מתכנת בעל רקע וניסיון יכול לעצב מסמך שיעמוד בחוקי התקן. לקחו מ-SGML מספר הגדרות ותגיות, הגדירו מספר מבנים פשוטים ויצרו את HTML, שהשימוש בו התפשט במהרה. HTML נכתבת בצורה של תגיות, התחומות בסוגריים משולשים. הדפדפן איננו מציג תגיות אלו, אלא משתמש בהן כדי לפרש כיצד להציג את תוכן הדף.

מקורות 
 מבוא לתכנות בסביבת אינטרנט - בהוצאת הוד עמי
 מבוא לתכנות בסביבת אינטרנט - בהוצאת "מבט לחלונות"

ראו גם 
 HTTP - פרוטוקול תקשורת שנועד להעברת דפי HTML על גבי רשת האינטרנט ורשתות אינטראנט
 גיליונות סגנון מדורגים (CSS)
 DOM
 Javascript - שפת תכנות שאחד משימושיה העיקריים הוא יצירת דפי HTML דינמיים
 אלמנט כתובת קנונית
 Blazor
 TinyMCE

קישורים חיצוניים 

 
 תיעוד תקן HTML באתר WebPlatform
 מפרט תקן HTML 4.01, אתר W3C
 הצעת טיוטה של מפרט תקן HTML5, אתר W3C
 אתר הבית של W3C
 על תקינה של HTML באתר mozilla.org.il
 תקני HTML באתר ה־W3C
 שאלות נפוצות על WHATWG ו־HTML5 מאתר WHATWG

הערות שוליים 

תקנים בתקשורת מחשבים
פיתוח יישומי ווב
עיצוב אתרי אינטרנט