عند استخدام القائمة المنسدلة لإشعارات الموضوع (متابعة/تتبع/عادي/كتم)، يصبح نص وأيقونة العنصر المحدد حاليًا غير مرئيين بسبب التباين غير الكافي بين لون خلفية التحديد وألوان المقدمة.
خطوات إعادة الإنتاج
افتح أي موضوع
انقر على زر جرس الإشعار في أسفل الموضوع
لاحظ مستوى الإشعار المحدد حاليًا (على سبيل المثال، “تتبع”)
السلوك المتوقع
يجب أن يكون للعنصر المحدد نص وأيقونة مرئيان بوضوح مع تباين جيد.
السلوك الفعلي
يختفي النص أو يصبح من الصعب جدًا قراءته
يصبح رمز الجرس غير مرئي
تكون المشكلة أكثر وضوحًا في السمات الداكنة ولكن يمكن أن تؤثر على أي سمة اعتمادًا على لوحة الألوان
التفاصيل التقنية
في app/assets/stylesheets/common/select-kit/select-kit.scss، تحدد حالة .is-selected لون الخلفية فقط دون ضمان تباين المقدمة:
&.is-selected,
&.is-selected.is-highlighted {
background: var(--d-selected);
// لا يوجد تجاوز للون للنص أو الأيقونات
}
يأتي متغير CSS --d-selected من لون $selected الخاص بالسمة، لكن النص (.name، .desc) والأيقونات (.d-icon) تحتفظ بألوانها الافتراضية التي قد لا تتباين جيدًا مع خلفية التحديد.
نعم، هذا هو المرجح - لقد رأيت مواقف كهذه حيث تنتهي لوحة ألوان مخصصة تم إنشاؤها قبل إضافة ألوان جديدة بتباين ضعيف… @BrettH إذا قمت بإنشاء لوحة ألوان جديدة واستخدمتها، فهل تستمر المشكلة؟
شكرًا للجميع على الاقتراحات. اسمحوا لي بمعالجة الأسئلة:
NateDhaliwal - لم أجرب في الوضع الآمن بعد، ولكن بناءً على ما يصفه chapoi و Kris، أظن أن الوضع الآمن سيحل المشكلة لأنه سيعود إلى لوحة الألوان الافتراضية الفاتحة بدلاً من لوحتي المخصصة.
@chapoi - سؤال جيد. تم إنشاء لوحة الألوان الخاصة بنا منذ فترة طويلة - بالتأكيد قبل إضافة ألوان selected و hover إلى اللوحة الأساسية. أعتقد أنه تم إعداد اللوحة عندما أطلقنا المجتمع لأول مرة، ولم نقم بتحديثها منذ ذلك الحين.
@awesomerobot - هذا منطقي. بالنظر إلى الكود، يمكنني أن أرى أن resolved_colors تحسب قيمًا احتياطية لـ hover و selected باستخدام dark_light_diff إذا كانت مفقودة من اللوحة. لكن المشكلة هي أن ألوان النص (.name و .desc و .d-icon) لا تزال تستخدم قيمها الافتراضية، والتي تم تصميمها للون التحديد في لوحة الألوان الفاتحة الافتراضية - وليس القيمة الاحتياطية المحسوبة لنمطي الداكن.
سأقوم بإنشاء لوحة ألوان جديدة وتعيين ألوان selected و hover بشكل صريح إلى قيم تتباين بشكل صحيح. أظن أن هذا سيحل المشكلة.
فكرة واحدة أثناء الاختبار: هل سيكون من المنطقي أن تأخذ عملية حساب القيمة الاحتياطية في الاعتبار تباين النص أيضًا؟ بهذه الطريقة ستتعامل اللوحات القديمة مع الإضافات الجديدة للألوان بسلاسة دون تدخل يدوي. مجرد فكرة - أعلم أن أنظمة الألوان صعبة الإتقان، ومن المحتمل أن يغطي النهج الحالي معظم الحالات. يسعدني تقديم طلب ميزة منفصل إذا كان ذلك مفيدًا.