الجمعة، 24 مارس 2006

الإجابة الصحيحة تكمن في المنطق

في الموضوع السابق طرحت سؤالاً حول المعايير القياسية وأي المثالين يستخدم المعايير القياسية، والإجابة الصحيحة هو المثال الأول، وإجابات معظم من شارك في الموضوع صحيحة.

ما الفرق بين المثال الأول والمثال الثاني؟ دعوني أولاً أقول بأن كلاهما خال من الأخطاء، كلاهما يستخدم CSS.

قمت بحذف أوامر CSS من المثالين وحفظتهما في ملفات منفصلة، إليكم المثال الأول بدون CSS والمثال الثاني أيضاً، لاحظ أن المثال الثاني لم يعد واضحاً، بينما بقي المثال الأول واضحاً، وأعني بذلك أن المثال الأول يحوي عناوناً وفقرات، بينما الثاني يستخدم أوامر غير صحيحة لتكوين الصفحة، ولو تصفحها شخص ما بهاتفه النقال، أو حتى بالحاسوب العادي فلن يظهر له أي فرق بين العناوين والفقرات، وسيكون للصفحة أثر أسوأ على ذوي الاحتياجات الخاصة الذين يعتمدون على أجهزة تقرأ لهم الصفحات، هذه الأجهزة أو البرامج لن تستطيع التفريق بين أجزاء المحتويات، فماذا يعني ذلك السطر أو ذاك؟ بكل بساطة: لا شيء! لأن كل السطور وكل المحتويات تتشابه من ناحية أوامر XHTML.

الفرق كله يكمن في استخدام XHTML بشكل صحيح، لنعد إلى المثال الأول، إذا تصفحت مصدر الصفحة ستجد أنني أستخدم أمر h1 للعنوان الرئيسي، وأمر h يعني heading أو عنوان، وهناك 6 مستويات من العناوين تتدرج من h1 إلى h6 وعليك أن تستخدم هذه العناوين بشكل منطقي، فكل صفحة يجب أن تبدأ بعنوان h1، ثم تستخدم للمستوى الثاني عناوين h2، وهكذا تتدرج، لكل مستوى عنوان، لا شيء يلزمك بأن تستخدم كل المستويات الستة، في الغالب ستكتفي بثلاثة أو أربعة مستويات من العناوين.

بعد ذلك استخدمت أمر p لتشكيل الفقرات، p تعني paragraph أي فقرة، وللأسف الكثير من المواقع العربية لا تهتم لهذا الأمر كثيراً، حتى الكتّاب الذين يفترض بهم أن يعرفوا أصول تنسيق كتاباتهم تراهم يهملون قواعد الكتابة فيكتبون كل جملة أو جملتين في سطر، والمنتديات حالها لا يختلف كثيراً، فقط أضف بعض الألوان والحروف الغربية والصور وقم بتوسيط كل شيء وأضف في نهاية الموضوع ملف فلاش! والتوقيع في الغالب يكون بنفس حجم الموضوع!

مع ذلك لا زال في المثال الأول خطأ صغير تعمدته ولم يشر له أحد سوى الأخ حسن، أنظر بعد العنوان الثاني "نصائح فارغة"، قمت بإنشاء قائمة من ثلاث نقاط، لكنني استخدمت الأمر p وفصلت بين كل نقطة بأمر br، وكان من المفترض أن أستخدم أمر ul وأمر li.

ما الذي نستفيده من كل هذا؟

  • أستخدم أوامر XHTML أو HTML بشكل صحيح منطقي، فلكل أمر استخدام معين ولا يصح أن تستخدمه لأي غرض آخر، الجداول لعرض البيانات وليس لتصميم الموقع، p للفقرات، h1 وحتى h6 للعناوين، ul وli لإنشاء قائمة غير مرتبة من النقاط، ul وol لكتابة قائمة مرتبة من النقاط، وهكذا لكل أمر استخدام معين.
  • استخدامك للأوامر بشكل صحيح سيحسن من قابلية الاستخدام، هناك أناس يستخدمون متصفحات نصية لا تعرض الصور ولا تدعم CSS، هناك من يستخدم الهاتف النقال أو حاسوبه الكفي، هناك فئة ذوي الاحتياجات الخاصة الذين يستخدمون أجهزة خاصة بهم لقراءة المواقع أو للاستماع لها، هؤلاء جميعاً سيستفيدون من كتابة صفحات XHTML بشكل صحيح.
  • الأخطاء في XHTML لا تعني أن الموقع غير متوافق مع المعايير القياسية، قد يكون متوافقاً لكنه يحوي بضعة أخطاء يمكن تصحيحها، التوافق مع المعايير يحتاج أن يكون الموقع منطقياً ويستخدم أوامر XHTML بشكل صحيح، ولا يكفي أن يكون خالياً من الأخطاء.
  • تقنية CSS لا يمكنها أن تستخدم للتعويض عن XHTML، يمكنك أن تستخدمها لكي تميز بين الفقرات والعناوين والعناصر الأخرى للتصميم، لكن كل هذا لن يكون له أي أثر على المتصفحات والأجهزة التي لا تدعم CSS، وهذه التقنية مهمتها فقط تصميم الموقع، أما XHTML فهي التي تعطي للمحتويات المعنى المطلوب.
  • أخيراً: من الواضح أننا بحاجة جميعاً للمزيد من القراءة حول هذا الموضوع لأنه كما يبدو لي من الردود ومن الأسئلة التي أراها في منتدى سوالف سوفت، البعض لم يفهم بعد ما هي وظيفة XHTML ووظيفة CSS.