این متن هنوز کامل نیست و در حال بروزرسانی است. نسخهی نهایی پس از تکمیل در دسترس قرار خواهد گرفت.
ساختار بنیادین سند HTML
در عصر دیجیتال ساختار بنیادین یک سند HTML به عنوان "استخوانهای اصلی" یک صفحه وب، نقش محوری در تعیین کیفیت، عملکرد، دسترسیپذیری و سازگاری با تمام دستگاهها ایفا میکند. این فصل به بررسی جامع و تخصصی چهار بخش اصلی مرتبط با ساختار اولیه سند HTML میپردازد: (1) مسیر تکامل استانداردها (2) تعریف نوع سند و حالتهای رندرینگ (3) ساختار اصلی با <html> - <head> - <body> و (4) اصول نگارش معتبر و خوانا. هدف این فصل ایجاد پایهای محکم، مطابق با استانداردهای جهانی و قابل نگهداری برای آینده است.
1.1 استانداردهای HTML و مسیر تکامل: از چهارچوبهای قدیمی به استاندارد زنده
1.1.1 WHATWG و مفهوم "Living Standard"
- WHATWG (Web Hypertext Application Technology Working Group) یک گروه مرجع است که به صورت مستمر و پویا استاندارد HTML را توسعه میدهد.
- Living Standard - یعنی استاندارد به صورت پیوسته بهروزرسانی میشود و هیچ نسخه ثابتی وجود ندارد.
- مزیت ها شامل: سرعت بالا در انتشار ویژگیهای جدید (مثلاً async - defer - loading).
- نمونههای معروف: fetch API - Intersection Observer - HTML Template - همه از طریق WHATWG معرفی شدهاند.
WHATWG به جای "نسخههای متوقفشده" روی توسعه پیوسته و اصلاحپذیری تأکید دارد. این مدل باعث شده است که HTML به یک زبان پویا و انعطافپذیر تبدیل شود.
1.1.2 W3C و مدل نسخهای
- W3C (World Wide Web Consortium) یک سازمان استانداردسازی است که نسخههای ثابتی از HTML منتشر میکند (مثلاً HTML5.2).
- معایب: به دلیل فرآیند تایید طولانی، تاخیر در انتشار ویژگیهای جدید وجود دارد.
| ویژگی |
WHATWG (Living Standard) |
W3C (Versioned) |
| مدل |
پیوسته و پویا |
ثابت و نسخه ای |
| بروزرسانی |
فوری و مستمر |
دوره ای (مثلا سالی یکبار) |
| مثال |
loading="lazy" |
متوقف شده HTML5.2 |
| مدیریت تغییرات |
بدون نیاز به نسخه جدید |
نیاز به نسخه جدید |
- امروزه هر دو مدل با هم همپوشانی دارند اما WHATWG به عنوان منبع اصلی استانداردهای مدرن شناخته میشود.
- W3C نسخههای رسمی و مورد تأیید جهانی را منتشر میکند.
1.1.3 مقایسهٔ HTML4، XHTML و HTML5
| ویژگی |
HTML4 |
XHTML |
HTML5 |
| ساختار |
ساده و غیرقابل تنظیم |
حساس به حروف مانند XML |
نعطلاف پذیر، با حفط ساختار |
| حساسیت به حروف |
حساس (مثلا <BR> صحیح است) |
غیر حساس (مثلا </br>) |
انعطلاف پذیر (هم </br> و <br> صحیح است) |
| ویژگی های جدید |
محدود (فقط <div> - <span>) |
محدود (مخصوصا برای XML) |
پربار (فرم ها، ویدئو، تصاویر، موزیک و...) |
| توصیه فعلی |
منسوخ شده |
منسوخ شده |
استاندارد جهانی |
- HTML5 به عنوان استاندارد اصلی و ترجیحی برای توسعه وب مدرن تلقی میشود.
- استفاده از <!DOCTYPE html> فقط برای HTML5 است.
1.2.1 <!DOCTYPE html>: شروع سند HTML5
- این خط اولین خط یک سند HTML است و به مرورگر میگوید که این فایل از کدام استاندارد استفاده میکند.
- نوع سند: <!DOCTYPE html>
- تأثیر: فعالسازی حالت استاندارد <Standards Mode> در مرورگرها.
<!DOCTYPE html>
<html lang="fa">
<head>
<meta charset="UTF-8">
<title>صفحه اول</title>
</head>
<body>
<p>محتوای صفحه</p>
</body>
</html>
- بدون <!DOCTYPE html> مرورگرها به حالت "Quirks Mode" وارد میشوند که باعث عدم سازگاری با استانداردها میشود.
- Quirks Mode به دلیل از دست دادن ساختار و استایل، بهترین عملکرد را ندارد.
1.2.2 حالتهای Rendering در مرورگرها
| Standards Mode |
سازگار با استانداردهای W3C/WHATWG |
| Quirks Mode |
سازگار با مرورگرهای قدیمی (مثلاً IE6) |
| Limited Quirks Mode |
نسخهای محدود از Quirks Mode |
- استفاده از <!DOCTYPE html> به طور قطع از ورود به Quirks Mode جلوگیری میکند.
- این کار به سازگاری، استایلدهی و عملکرد پایدار کمک میکند.
1.2.3 دستهبندی تگها: Void, Raw Text, Escapable Raw Text
این دستهبندی برای درک نحوه تفسیر تگها توسط مرورگرها ضروری است.
| Void Elements |
بدون تگ بسته (self-closing) |
<img> - <br> - <input> |
| Raw Text Elements |
محتوای داخلی بدون تحلیل (نه کاراکترهای خاص) |
<style> - <script> |
| Escapable Raw Text Elements |
محتوای داخلی که کاراکترهای خاص را میتوان اسکیپ کرد |
<title> - <textarea> |
- در <script> و <style> محتوا به صورت "خام" (raw) تفسیر میشود و از تجزیه کاراکترهای خاص (مثل < >) جلوگیری میشود.
- در <textarea> و <title> کاراکترهای خاص مثل < و > میتوانند با اسکیپ (مثلاً <) نمایش داده شوند.
1.3 تگهای اصلی ریشهٔ سند: ساختار اولیه
1.3.1 <html lang="" dir="">