الجمعة، 23 يونيو 2006

شكل الموقع غير مهم

سأجيب في هذا الموضوع على السؤال الذي طرحته بالأمس حول تطوير المواقع بالمعايير القياسية وهل يجب أن تظهر بنفس الشكل على جميع المتصفحات؟، وهذا الموضوع سيكون طويلاً بعض الشيء، لذلك توقف الآن عن القراءة وأحضر كوباً من الشاي وليكن الكوب كبيراً، ثم أكمل القراءة.

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

المواقع على شبكة الويب لن تظهر بنفس الشكل على جميع المتصفحات، سواء طورت بالمعايير القياسية أو بغيرها، من المستحيل أن تظهر بنفس الشكل على جميع المتصفحات، وأنا أعني هنا جميع المتصفحات.

في عالم الحاسوب لدينا عشرات المتصفحات، لنبدأ بأشهرها وهو إكسبلورر، لا زال بعض الناس يستخدمون إكسبلورر 4 و5 و5.5، إصدارات قديمة لا تدعم الكثير من تقنيات المعايير القياسية بشكل جيد، والإصدار 6 من إكسبلورر ليس أفضل حالاً بكثير، فهو الآن من متأخر في دعم المعايير القياسية مقارنة بمتصفحات أخرى مثل فايرفوكس وسفاري وأوبرا.

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

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

نأتي إلى فايرفوكس وأوبرا - الذي طرح إصداره التاسع قبل أيام- وسفاري متصفح نظام ماك، هذه المتصفحات تقدم دعماً أفضل للمعايير القياسية وتحسن هذا الدعم مع كل إصدار، في السنوات القليلة الماضية طرحت عدة إصدارات من هذه المتصفحات في حين أن مايكروسوفت لم تجدد متصفحها إلا من النواحي الأمنية لكي تسد الثغرات التي تظهر بين حين وآخر، لكن محرك متصفح إكسبلورر 6 لم يتغير منذ أن طرح في عام 2001م.

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

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

حتى الآن لم أتحدث عن جميع المتصفحات، فلا زال لدينا الكثير منها، هناك متصفحات أخرى للحواسيب، لدينا المتصفحات النصية التي لا تعرض الصور وفي الغالب لا تدعم جافاسكربت أو CSS، هذه المتصفحات يستخدمها العديد من الناس حول العالم، بعض مستخدمي الحواسيب القديمة لا يملكون غير هذه المتصفحات النصية، بعض الناس يفضلونها لأنها أبسط وأسرع مع أنهم يستخدمون حواسيب حديثة.

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

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

هل هناك متصفحات أخرى؟ لا أدري! لكن هذا ما أعنيه عندما أقول "جميع المتصفحات"، أي المتصفحات المستخدمة على مختلف الأجهزة، لا يمكن لأي موقع أن يظهر بنفس الشكل على كل هذه المتصفحات، مستحيل! فلا تتعب نفسك في الوصول إلى المستحيل.

ما يجب أن تهتم به كمطور للمواقع هو أن يعمل موقعك بشكل صحيح في جميع المتصفحات، هذا يعني أن تهتم كثيراً بكتابة أوامر HTML أو XHTML بشكل صحيح وبدون أخطاء، وأعني بذلك أن تستخدم الأوامر منطقياً، فلكل أمر معنى خاص، فهناك أوامر للعناوين، وهناك أمر للفقرات، وهناك أمر للقوائم، وكل أمر في HTML أو XHTML له غرض خاص ولا يصح أن تستخدمه لأي غرض آخر.

عندما تكتب الأوامر عليك أن تنسى شكل الصفحة أو تصميمها وتفكر في محتواها وما تعنيه هذه المحتويات، بعد ذلك يمكن أن تهتم بشكل الصفحة من خلال تقنية CSS، هذا الفصل بين التصميم والمحتويات يجعل المواقع متوافقة مع كل المتصفحات.

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

حتى المتصفحات القديمة يمكنها أن تعرض الصفحات بشكل صحيح، لن يعرض الموقع في هذه المتصفحات بالشكل الذي أراده المصمم، لكن المستخدم سيرى المحتويات وهي مرتبة بأسلوب منطقي.

إذا كنت تطور المواقع باستخدام تقنيات المعايير القياسية فلا تفكر في شكل الموقع، ربما شكل الموقع سيكون مهماً في المتصفحات الرئيسية، إكسبلورر وفايرفوكس وسفاري، لكن تذكر بقية المتصفحات التي لن يظهر فيها موقعك بنفس الشكل الذي تريد، عندما تطور أي موقع إحرص على أن يستطيع كل شخص قراءة محتوياته واستخدام خدماته بدون أي صعوبات.

نقطة أخيرة: أنت من يقرر المتصفحات التي سيدعمها الموقع، في بعض الأحيان عليك أن تقرر عدم دعم المتصفحات القديمة مثل إكسبلورر 5، وهذا ما فعله مطورو شركة 37signals عندما برمجوا خدمات الويب التي يقدمونها، في بعض الأحيان عليك أن تضحي ولا تدعم بعض المتصفحات، قد تفقد هنا نسبة صغيرة من المستخدمين، هذه تضحية ضرورية لكي تقدم خدمات أفضل.

أرجو زيارة موقع Viewable With Any Browser الذي يهدف إلى نشر الوعي بأهمية أن تطور المواقع لكي تكون قابلة للوصول باستخدام أي متصفح.