IE8 و استانداردهای وب

استاندارد

این روزها خبر (تقریبا) مسرت بخشی برای طراحان و توسعه دهندگان وب منتشر شده. خبر اجرای موفقیت آمیز آزمون Acid2 در IE8! اما آیا واقعا برای همه مسرت بخشه؟

سازگاری کامل با استانداردها و Backward Compatibility
اول اینکه ادعای تیم توسعه IE مبنی بر اجرای درست آزمون، به این معنی نیست که همه مشکلات IE برطرف شده باشه. همونطور که خودشون اشاره کردند، آزمون Acid2 همه جوانب استانداردهای وب رو پوشش نداده و اجرای صحیحش نمیتونه تضمینی برای انطباق کامل با استانداردها باشه.
IE مشکلات ریز و درشت بسیاری در موتور Rendering خودش داره که اصلاح برخی از این مشکلات به معنی از دست دادن Backward Compatibility هست که توسعه‌دهندگانش با امیدواری خبرش رو میدند.
مشکل IE فقط عدم پشتیبانی از استانداردها نیست. که این موارد به خودی خود مشکل آفرین نیستند. چون با اضافه شدن امکاناتی جدید به مرورگر، سایتهایی که قبلا بدون در نظر گرفتن این امکان طراحی شدند تغییری نخواهند کرد. مشکل، درست جایی شکل میگیره که IE طرز تفسیر و نمایش غلط و متضاد با استانداردها داره. این موارد (که کم هم نیستند) برای رفع شدن، Backward Compatibility را زیر سوال میبرند. چون سایتی که سابق بر این به اشتباه و غیر استاندارد، تنها متکی بر نمایش صحیح در IE از شکل خاصی از کدنویسی استفاده کرده، در نسخه جدید با تغییر رویه تفسیر و نمایش اون کد (استاندارد شدن تفسیر) به شکل دیگه‌ای نمایش داده میشه و باعث میشه به هم بریزه.
برای مثال، در IE نسخه 6 و قدیمی‌تر، قابلیت hover فقط برای عنصر لینک (a) تعریف شده بود. در حالی که در CSS2 برای هر عنصری میشه hover (و سایر pseudo selectorها) را تعریف کرد.
این قابلیت در IE7 اضافه شد. سایتهایی که قبل از انتشار IE7 طراحی شدند یا از hover برای عناصر غیر از لینک استفاده نکردند. یا در صورت استفاده جزئی و تزئینی بوده. همین سایتها با IE7 -که این قابلیت تازه اضافه شده را داره- اغلب مشکلی نخواهند داشت و شاید کمی بهتر هم به نظر برسند. اما همه موارد به این شکل نیست. خیلی از مشکلات IE نظیر box model، تفسیرهای نادرست float و موارد متعدد دیگری هستند که به سادگی و با حفظ سازگاری با نسخه‌های قبلی قابل اصلاح نیستند.
ممکنه بازهم توسعه دهندگان IE دست به شیرین‌کاری‌هایی مثل hasLayout یا Conditional Comments بزنند. اما به هر حال سایتهای غیر استاندارد قدیمی، (همونطور که با تغییرات اندک IE7 دیده شد) اغلب بدون تغییر، درست نمایش داده نمیشوند.

روند توسعه روبه‌جلو یا بازی تبلیغاتی؟
اما از جنبه دیگه‌ای هم میشه به این موضوع نگاه کرد. مایکروسافت طی سالهای اخیر به خاطر انحصار نسبی در بازار مرورگرها (سهم حدودا 90 درصدی) نیاز چندانی به رقابت و نوآوری در مرورگر قدیمی و کهنه و خارج از رده خودش (IE6) نمیدید. با ظهور فایرفاکس و فشارهای بیشتر شرکتهایی مثل Opera، مایکروسافت IE7 را به عنوان یک مُسکن موضعی منتشر کرد. چیزی که تقریبا میشه بهش مجموعه patchهای IE6 گفت! اما طی چند ماه اخیر اتفاقات دیگه‌ای افتاده که باعث شده مایکروسافت مجددا خودش را وارد جنگ مرورگرها بکنه و به هر ترفندی جایی بین رقبا باز کنه.
در نیمه نوامبر 2007 شرکت Apple نسخه جدید موتور Rendering مرورگر Safary، یعنی Webkit را معرفی کرد. با امکانات جدید و پیشرفت‌های زیادی در زمینه کیفیت و امنیت و انطباق با استانداردهای وب. در همین روزها اولین نسخه بتا از نسخه جدید مرورگر Firefox بنیاد Mozilla منتشر میشه. که همراه خودش امکانت جدید و بهبود چشمگیری در بازده و کیفیت داشته و همچنین موتور Renderingش را ارتقا داده. بعد از اینها به شکایت شرکت Opera از مایکروسافت میرسیم که درست چند روز قبل از اعلام خبر IE8 و Acid2 طرح شده.
شرکت Opera شکایتی در اتحادیه اروپا علیه مایکروسافت طرح کرده که به دو موضوع اصلی اشاره میکنه. یکی همان دعوای قدیمی برای جدا کردن IE از ویندوز یا حذف IE به عنوان مرورگر پیش‌فرض سیستم عامل مایکروسافت. و دیگری اعتراض به استاندارد نبودن مرورگر IE. هر چند که Opera مورد دوم (استانداردهای وب) را بهانه و دست آویزی برای پافشاری بر ادعای اول خودش قرار داده. ولی به هر حال عامل تحریک کننده مایکروسافت هست.
عده‌ای انتشار این خبر از جانب مدیر تیم توسعه IE را واکنشی مستقیم به شکایت Opera میدونند. که باعث میشه مایکروسافت در این دعوا در جایگاه بهتری قرار بگیره. ولی منهم مثل Joe Wilcox، عقیده دارم این اقدام مایکروسافت پاسخی به همه عوامل ریز و درشت جنگ مرورگرها بوده. در واقع ممکنه این ادعای تیم توسعه IE در حد یک بازی تبلیغاتی باشه یا حداقل در خوشبینانه ترین حالت منجر به تغییرات نه چندان اصولی مثل IE7 بشه. من قصدم این نیست که کل این موضوع را زیر سوال ببرم، بلکه فکر میکنم این ادعا (یا واکنش) کمی اغراق شده و آرمانیه، تا اجرا شده و دست یافتنی!

از IE8 هنوز هیچ جزئیاتی منتشر نشده و انتشار اولین نسخه بتای IE8 در نیمه اول سال 2008 وعده داده شده، چیزی که با توجه به سابقه مایکروسافت ممکنه به اواخر 2008 هم برسه. به همین خاطر هنوز نمیشه اطمینان داشت ادعای پشتیبانی از استانداردهای وب (یا حتی ادعای اجرای موفقیت آمیز Acid2) به واقعیت نزدیک باشه.
به هر حال آرزوی تمام طراحان وتوسعه دهندگان وب اینه که استانداردهای وب به طور گسترده در مرورگرها و ابزارهای طراحی پشتیبانی بشه تا مدت زمانی که همواره صرف رفع ایراد طراحی در مرورگرهای مختلف میشه، صرف پرداختن به خلاقیتها و نوآوری‌های طراح بشه.
من هم به امید اون روز، چشم به جنگ مرورگرها دارم. شاید روند کاهش کاربران IE یا شکایتها، قلقلکی به مایکروسافت بده. 🙂