معرفی حالت تاریک تطبیقی در سافاری؛ تلاشی برای یکدست کردن وب — Safari introduces Adaptive Dark Mode in 27.3
خلاصه
مرورگر سافاری در نسخه بتای ۲۷.۳ ویژگی «حالت تاریک تطبیقی» را معرفی کرده است که وبسایتهای روشن را بهطور خودکار به نسخه تاریک تبدیل میکند. این ابزار با موتور WebKit کار میکند، حریم خصوصی کاربران را حفظ میکند و به توسعهدهندگان امکان کنترل کامل از طریق استانداردهای CSS را میدهد.
تیم توسعه WebKit در اپل از ارائه ویژگی جدیدی به نام Adaptive Dark Mode در نسخه بتای Safari 27.3 خبر داده است. این قابلیت طراحی شده است تا فاصله عمیق میان استفاده کاربران از حالت تاریک و پشتیبانی وبسایتها از آن را پر کند. بر اساس آمارهای اپل، نزدیک به ۴۰ درصد از بارگذاریهای وب مربوط به کاربرانی است که حالت تاریک را ترجیح میدهند، اما تنها ۱۰ درصد از صفحات وب از این حالت پشتیبانی میکنند. حال سافاری تلاش میکند تا این مشکل را به صورت خودکار حل کند.
نحوه کارکرد فنی Adaptive Dark Mode
این قابلیت زمانی فعال میشود که سیستمعامل کاربر روی حالت تاریک تنظیم شده باشد و کاربر از یک وبسایت با پسزمینه روشن بازدید کند. در این شرایط، سافاری صفحه را تحلیل کرده و در صورت روشن بودن آن، نسخه تاریکی را ارائه میدهد. اگر وبسایتی از قبل با استفاده از تگ متا <meta name="color-scheme" content="light dark"> یا ویژگی CSS متناظر با آن از حالت تاریک پشتیبانی کند، سافاری هیچ تغییری در آن ایجاد نمیکند.
هسته اصلی این قابلیت در موتور مرورگر نهفته است که با استفاده از یک ماتریس رنگی، درخشندگی (Luminosity) رنگها را معکوس میکند در حالی که فام (Hue) آنها را حفظ میکند. هدف این است که پسزمینههای روشن تاریک شوند و متنهای تیره به روشن تبدیل شوند، بهطوری که نسبت کنتراست استاندارد WCAG (حداقل ۴.۵ به ۱) برای خوانایی حفظ شود. از نظر فنی، جزئیات مهم زیر در این پردازش لحاظ شدهاند:
- تصاویر و گرافیکها: تصاویر بیتمپ معمولاً دستنخورده باقی میمانند، اما فایلهای SVG و لوگوهای ساده بررسی و در صورت نیاز رنگشان معکوس میشود تا کنتراست خود را از دست ندهند.
- افکتها و بومها: افکتهایی مانند masks و mix-blend-mode ممکن است نتایج نامطلوری تولید کنند، بنابراین در برخی موارد غیرفعال میشوند. محتوای
<canvas>نیز به دلیل پیچیدگی دستنخورده باقی میماند.
حفظ حریم خصوصی و ابزارهای توسعهدهندگان
یکی از دغدغههای مهم در این زمینه، مسئله Fingerprinting و ردیابی کاربران است. اپل برای جلوگیری از سوءاستفاده، مکانیزمی پیادهسازی کرده است که وبسایتها نتوانند متوجه شوند آیا Adaptive Dark Mode روی صفحه اعمال شده است یا خیر. کدهای JavaScript که رنگهای CSS را کوئری میکنند، همچنان رنگهای اصلی نوشتهشده توسط توسعهدهنده را دریافت خواهند کرد.
برای توسعهدهندگانی که میخواهند کنترل کاملی بر ظاهر سایت خود داشته باشند یا ترجیح میدهند سایتشان دستکاری نشود، راهکارهایی وجود دارد:
- جلوگیری از تغییرات: با استفاده از مقدار
light onlyدر ویژگیcolor-schemeمیتوان به مرورگر اعلام کرد که صفحه تنها باید در حالت روشن نمایش داده شود. - پیادهسازی دستی: استفاده از توابع جدید CSS مانند
color-mix()و متغیرهای CSS به توسعهدهندگان کمک میکند تا طراحیهای دقیق و سفارشی برای حالت تاریک پیادهسازی کنند.
نگاه جامعه توسعهدهندگان در Hacker News
این ویژگی واکنشهای متفاوتی را در میان جامعه مهندسی نرمافزار در هکرنیوز به همراه داشته است. برخی از توسعهدهندگان از اینکه مرورگرها ظاهر اصلی طراحیشده توسط طراح را بدون دستور صریح تغییر میدهند ابراز نگرانی کرده و آن را منبع خطاهای احتمالی یا سردرگمی دانستهاند (با یادآوری تجربیات مشابه در اپلیکیشنهای دیگر مانند Gmail). در مقابل، گروهی دیگر این ویژگی را یک برد دوطرفه برای کاربران و توسعهدهندگان میدانند، مشروط بر اینکه ابزارهایی مثل light only به درستی توسط مرورگر محترم شمرده شوند تا توسعهدهندگان کنترل نهایی را از دست ندهند.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل