ما هي أفضل الممارسات لتصميم ميزة الوضع الداكن Dark Mode Feature ؟
نظريملاحظة: قد تستخدم بعض الأمثلة التفاعلية أكواد CSS لم تتعلمها بعد. لا تقلق بشأن محاولة فهم الكود بالكامل؛ فالهدف من هذه الأمثلة هو عرض نماذج لمفاهيم التصميم هذه، لتتمكن من فهم آلية عملها بشكل أفضل.
يُعد "الوضع الداكن" (Dark mode) ميزة خاصة في تطبيقات الويب تتيح تغيير نظام الألوان الافتراضي الفاتح (default light color scheme) إلى نظام ألوان داكن (dark color scheme)؛ مما يساعد في تقليل إجهاد العين وتحسين القراءة في ظروف الإضاءة المنخفضة. وعند تصميم ميزات الوضع الداكن، من المهم فهم أفضل الممارسات لضمان أن تكون هذه الميزة فعالة وسهلة الاستخدام.
انقر على زر "تبديل الوضع الداكن" (Toggle Dark Mode button) في المثال أدناه لمعرفة كيفية عمل الوضع الداكن.
index.html
<link rel="stylesheet" href="styles.css">
<button id="theme-toggle">تبديل الوضع الداكن</button>
<div class="content">
<p>
هذا مثال بسيط للوضع الداكن.
</p>
</div>
<script src="index.js"></script>
styles.css
body {
background: #f5f5f5;
color: #222;
font-family: Arial, sans-serif;
transition: background 0.3s, color 0.3s;
}
button {
margin: 1rem;
padding: 0.5rem 1rem;
cursor: pointer;
}
body.dark {
background: #121212;
color: #e0e0e0;
}
index.js
document.getElementById('theme-toggle').addEventListener('click', () => {
document.body.classList.toggle(('dark'));
});
معاينة:
هذا مثال بسيط للوضع الداكن.
يتمثل الاعتبار الأول في تجنب استخدام الألوان المشبعة (saturated colors) عند تفعيل الوضع الداكن (dark mode)؛ فالألوان المشبعة هي ألوان زاهية وقوية للغاية. على سبيل المثال، قد يبدو زر باللون الأرجواني الزاهي (bright magenta) على خلفية رمادية داكنة (dark gray background) فاقعاً جداً، مما قد يسبب إجهاداً للعين. وبدلاً من ذلك، يُنصح باستخدام ألوان أقل تشبعاً؛ فهذه الألوان تتميز بحدة أقل ومستوى تشبع منخفض، مما يجعل النظر إليها أكثر راحة في الوضع الداكن.
index.html
<link rel="stylesheet" href="styles.css">
<button id="theme-toggle">تبديل الوضع الداكن</button>
<div class="content">
<h1>تشبع الألوان في الوضع الداكن</h1>
<p>
قارن بين الزرين أدناه؛ يستخدم الأول لوناً مشبعاً،
بينما يتميز الثاني بلون أقل تشبعاً لضمان سهولة أكبر في الاستخدام عند تفعيل الوضع الداكن.
</p>
<div class="buttons">
<button class="saturated">زر مشبع</button>
<button class="desaturated">زر باهت اللون</button>
</div>
</div>
<script src="index.js"></script>
styles.css
body {
background: #f0f0f0;
color: #111;
font-family: Arial, sans-serif;
transition: background 0.3s, color 0.3s;
padding: 1rem;
}
button {
padding: 0.6rem 1.2rem;
font-size: 1rem;
border-radius: 5px;
cursor: pointer;
margin-left: 1rem;
transition: background 0.3s, color 0.3s;
}
.buttons button {
border: none;
}
.saturated {
background-color: #ff00ff;
color: white;
}
.desaturated {
background-color: #c472b5;
color: white;
}
body.dark {
background-color: #121212;
color: #e0e0e0;
}
body.dark .saturated {
background-color: #ff00ff;
color: black;
}
body.dark .desaturated {
background-color: #925f88;
color: white;
}
index.js
document.getElementById('theme-toggle').addEventListener('click', () => {
document.body.classList.toggle(('dark'));
});
معاينة:
تشبع الألوان في الوضع الداكن
قارن بين الزرين أدناه؛ يستخدم الأول لوناً مشبعاً، بينما يتميز الثاني بلون أقل تشبعاً لضمان سهولة أكبر في الاستخدام عند تفعيل الوضع الداكن.
ثمة اعتبار آخر يتعلق بالوضع الداكن، وهو استخدام خلفيات سوداء تماماً (pure black backgrounds) مع نصوص بيضاء (white text)؛ ففي حين أن هذا التباين العالي (high contrast) قد يكون فعالاً، إلا أنه قد يسبب إجهاداً للعينين. لذا، يُفضل استخدام خلفية رمادية داكنة (dark gray background) مع نصوص رمادية فاتحة (light gray text) لتحقيق تباين أكثر سلاسة (softer contrast)؛ إذ يجعل ذلك النص أكثر راحة للعينين وأسهل في القراءة عند استخدام الوضع الداكن.
index.html
<link rel="stylesheet" href="styles.css">
<button id="theme-toggle">تبديل الوضع الداكن</button>
<div class="content">
<h1>مقارنة التباين في الوضع الداكن</h1>
<p>
قارن بين القسمين أدناه؛ يستخدم أحدهما اللونين الأسود والأبيض الخالصين،
بينما يستخدم الآخر اللونين الرمادي الداكن والفاتح لتحسين القراءة.
</p>
<div class="dark-mode-examples">
<div class="box harsh-dark">
<h2>تباين عالٍ</h2>
<p>
خلفية سوداء تماماً مع نص أبيض. ورغم أن النص مقروء، إلا أن هذا التباين قد يكون مزعجاً للعينين.
</p>
</div>
<div class="box soft-dark">
<h2>تباين ناعم</h2>
<p>
خلفية رمادية داكنة مع نص رمادي فاتح؛ فهي أسهل في القراءة وأكثر راحة عند الاستخدام لفترات طويلة.
</p>
</div>
</div>
</div>
<script src="index.js"></script>
styles.css
body {
background: #f0f0f0;
color: #111;
font-family: Arial, sans-serif;
padding: 1rem;
transition: background 0.3s, color 0.3s;
}
button {
padding: 0.5rem 1rem;
margin-bottom: 1rem;
cursor: pointer;
}
.dark-mode-examples {
display: flex;
gap: 2rem;
flex-wrap: wrap;
}
.box {
padding: 1rem;
border-radius: 8px;
width: 300px;
transition: background 0.3s, color 0.3s;
}
.box {
background-color: #ffffff;
color: #111;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
body.dark .box.harsh-dark {
background-color: #000000;
color: #ffffff;
}
body.dark .box.soft-dark {
background-color: #1e1e1e;
color: #cccccc;
}
body.dark {
background-color: #121212;
color: #e0e0e0;
}
index.js
document.getElementById('theme-toggle').addEventListener('click', () => {
document.body.classList.toggle(('dark'));
});
معاينة:
مقارنة التباين في الوضع الداكن
قارن بين القسمين أدناه؛ يستخدم أحدهما اللونين الأسود والأبيض الخالصين، بينما يستخدم الآخر اللونين الرمادي الداكن والفاتح لتحسين القراءة.
تباين عالٍ
خلفية سوداء تماماً مع نص أبيض. ورغم أن النص مقروء، إلا أن هذا التباين قد يكون مزعجاً للعينين.
تباين ناعم
خلفية رمادية داكنة مع نص رمادي فاتح؛ فهي أسهل في القراءة وأكثر راحة عند الاستخدام لفترات طويلة.
ثمة اعتبار آخر يتمثل في استخدام "الوضع الداكن" (Dark Mode) بما يتماشى مع الهوية البصرية (brand identity) للعلامة التجارية. وتُعرف الهوية البصرية بأنها مجموعة من العناصر المرئية التي تعبّر عن العلامة التجارية، مثل الشعار والألوان والخطوط. لذا، عند تطبيق الوضع الداكن، ينبغي مراعاة مدى انسجام هذه الميزة مع ألوان علامتك التجارية وأسلوبها؛ إذ لا بأس بأن تظهر أيقونة العلامة التجارية والأزرار بأقصى درجات التشبع اللوني، في حين تكون العناصر المحيطة بها أقل تشبعاً.
بشكل عام، عند الحديث عن التصميم، ينبغي دائمًا مراعاة تجربة المستخدم (user experience) ومستويات التباين (contrast levels). ولا يُعد "الوضع الداكن" استثناءً من ذلك؛ إذ يمكنك - باتباع أفضل الممارسات هذه - إنشاء ميزة للوضع الداكن (dark mode feature) تتسم بالفعالية وسهولة الاستخدام.
أسئلة :
ما هو الوضع الداكن (dark mode) ؟
1. ميزة تُغيّر نظام الألوان الافتراضي الفاتح إلى نظام ألوان داكن. ✅
2. ميزة تُغيّر نظام الألوان الافتراضي الداكن إلى نظام ألوان فاتح. ❌
3. ميزة تُغيّر حجم الخط الافتراضي إلى حجم أكبر. ❌
4. ميزة تُغيّر التخطيط الافتراضي لصفحة الويب. ❌
لماذا لا يُعد استخدام خلفيات سوداء تماماً (pure black backgrounds) مع نصوص بيضاء (white text) في "الوضع الداكن" (dark mode) فكرةً جيدة؟
1. قد تتسبب الخلفيات السوداء تماماً في مشكلات أمنية. ❌
2. قد تتسبب الخلفيات السوداء تماماً في مشكلات تتعلق بالأداء. ❌
3. تُعد الخلفيات السوداء تماماً مع النصوص البيضاء باهتة للغاية. ❌
4. قد تكون الخلفيات السوداء تماماً مع النصوص البيضاء قاسية جداً على العينين. ✅
ما هي أنواع الألوان (colors) المقترح استخدامها في الوضع الداكن (dark mode) ؟
1. ألوان حمراء Red colors. ❌
2. ألوان باهتة (منخفضة التشبع) Desaturated colors. ✅
3. ألوان زاهية Bright colors. ❌
4. ألوان باستيل Pastel colors. ❌