ToolHub
View All Posts

تصميم الويب بالوضع الداكن: أفضل الممارسات ودليل التنفيذ

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

لماذا الوضع الداكن مهم

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

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

نظرية الألوان للوضع الداكن

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

لون الخلفية

تجنب استخدام الأسود النقي (#000000) كخلفية. الأسود النقي يخلق تباينًا مفرطًا مع النص الأبيض، مما يسبب إجهاد العين. بدلاً من ذلك، استخدم رماديًا داكنًا مع لمسة لونية خفيفة تضيف عمقًا واهتمامًا بصريًا.

مستوى الخلفيةاللونحالة الاستخدام
الأساس#0f172aخلفية الصفحة
السطح#1e293bالبطاقات، النوافذ المنبثقة
المرتفع#334155حالات التحويم، القوائم المنسدلة
التراكبrgba(0,0,0,0.5)خلفية النافذة المنبثقة

لون النص

وبالمثل، تجنب استخدام الأبيض النقي (#ffffff) لنص الجسم. استخدم درجات الأبيض المائل للكريمي التي تحافظ على قابلية القراءة مع تقليل الوهج. احتفظ بالأبيض النقي للعناوين والتأكيد.

لون التمييز

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

تنفيذ CSS

أكثر نهج قابل للصيانة للوضع الداكن هو استخدام خصائص CSS المخصصة (المتغيرات) مع استعلام الوسائط prefers-color-scheme. هذا يسمح لك بتعريف الألوان مرة واحدة وتبديل السمات عن طريق تغيير قيم المتغيرات.

استخدام خصائص CSS المخصصة

:root {
  --bg: #f8fafc;
  --bg-card: #ffffff;
  --text: #1e293b;
  --text-muted: #64748b;
  --primary: #3b82f6;
  --border: #e2e8f0;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0f172a;
    --bg-card: #1e293b;
    --text: #e2e8f0;
    --text-muted: #94a3b8;
    --primary: #60a5fa;
    --border: #334155;
  }
}

body {
  background: var(--bg);
  color: var(--text);
}

استخدام JavaScript للتبديل اليدوي

بينما يتعامل prefers-color-scheme مع تفضيلات النظام، يحتاج المستخدمون أيضًا إلى تبديل يدوي. خزّن التفضيل في localStorage وطبقه عبر سمة data على العنصر الجذري.

function toggleTheme() {
  const current = document.documentElement.dataset.theme;
  const next = current === 'dark' ? 'light' : 'dark';
  document.documentElement.dataset.theme = next;
  localStorage.setItem('theme', next);
}

// On page load
const saved = localStorage.getItem('theme');
if (saved) {
  document.documentElement.dataset.theme = saved;
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
  document.documentElement.dataset.theme = 'dark';
}

ثم في CSS، استخدم محدد السمة مع نهج استعلام الوسائط:

[data-theme="dark"] {
  --bg: #0f172a;
  --bg-card: #1e293b;
  --text: #e2e8f0;
}

التعامل مع التسلسل الهرمي والعمق

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

الصور والوسائط في الوضع الداكن

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

[data-theme="dark"] img {
  filter: brightness(0.9);
}

[data-theme="dark"] .logo-dark {
  display: inline-block;
}

[data-theme="dark"] .logo-light {
  display: none;
}

اعتبارات إمكانية الوصول

يجب أن يفي الوضع الداكن بنفس معايير إمكانية الوصول مثل الوضع الفاتح. تتطلب إرشادات WCAG 2.1 حدًا أدنى للتباين 4.5:1 للنص العادي و 3:1 للنص الكبير. اختبر سمة الوضع الداكن باستخدام أدوات فحص التباين لضمان الامتثال.

أخطاء الوضع الداكن الشائعة

هل تحتاج إلى فحص تباين تصميم الوضع الداكن؟ جرب أداة فحص التباين المجانية الخاصة بنا للتأكد من أن ألوانك تلبي معايير إمكانية الوصول WCAG.

افحص التباين الآن

الأسئلة الشائعة

هل يجب استخدام الأسود النقي لخلفية الوضع الداكن؟

لا، الأسود النقي (#000000) يخلق تباينًا مفرطًا مع النص الأبيض، مما يسبب إجهاد العين وتأثير الهالة. استخدم رماديًا داكنًا مثل #121212 أو #1e293b أو #0f172a بدلاً من ذلك. توفر هذه الألوان تباينًا كافيًا لقابلية القراءة مع كونها ألطف على العينين.

كيفية اكتشاف تفضيل الوضع الداكن للمستخدم في CSS؟

استخدم استعلام الوسائط prefers-color-scheme: @media (prefers-color-scheme: dark) { /* أنماط الوضع الداكن */ }. هذا يطبق الأنماط الداكنة تلقائيًا عندما يمكّن المستخدم الوضع الداكن في إعدادات نظام التشغيل.

ما مقدار التباين الذي يجب أن يكون عليه النص في الوضع الداكن؟

يتطلب WCAG 2.1 حدًا أدنى للتباين 4.5:1 للنص العادي و 3:1 للنص الكبير. في الوضع الداكن، استخدم نصًا رماديًا فاتحًا (#e2e8f0 أو #f1f5f9) على خلفية داكنة بدلاً من الأبيض النقي لتقليل الوهج مع الحفاظ على تباين كافٍ.

هل يجب أن يكون الوضع الداكن هو الخيار الافتراضي؟

استخدم prefers-color-scheme لاتباع تفضيلات نظام المستخدم. إذا لم يتم اكتشاف تفضيل، فإن الوضع الفاتح هو الخيار الافتراضي الأكثر أمانًا لأنه يتمتع بتوافق أوسع ويفضل معظم المستخدمين الوضع الفاتح أثناء الاستخدام النهاري. وفر دائمًا زر تبديل للمستخدمين للتبديل يدويًا.

كيفية التعامل مع الصور في الوضع الداكن؟

استخدم CSS filter: brightness(0.9) في الوضع الداكن لتقليل سطوع الصور قليلاً، مما يمنعها من الظهور بمظهر ساطع جدًا على الخلفيات الداكنة. بالنسبة للشعارات والأيقونات، قدم إصدارات فاتحة. فكر في استخدام تعديلات الشفافية للصور الزخرفية.