Select-kit dropdown: العناصر المحددة/المميزة لها تباين لوني ضعيف، والنص والأيقونات تختفي

عند استخدام القائمة المنسدلة لإشعارات الموضوع (متابعة/تتبع/عادي/كتم)، يصبح نص وأيقونة العنصر المحدد حاليًا غير مرئيين بسبب التباين غير الكافي بين لون خلفية التحديد وألوان المقدمة.

خطوات إعادة الإنتاج

  1. افتح أي موضوع

  2. انقر على زر جرس الإشعار في أسفل الموضوع

  3. لاحظ مستوى الإشعار المحدد حاليًا (على سبيل المثال، “تتبع”)

السلوك المتوقع

يجب أن يكون للعنصر المحدد نص وأيقونة مرئيان بوضوح مع تباين جيد.

السلوك الفعلي

  • يختفي النص أو يصبح من الصعب جدًا قراءته

  • يصبح رمز الجرس غير مرئي

  • تكون المشكلة أكثر وضوحًا في السمات الداكنة ولكن يمكن أن تؤثر على أي سمة اعتمادًا على لوحة الألوان

التفاصيل التقنية

في 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) تحتفظ بألوانها الافتراضية التي قد لا تتباين جيدًا مع خلفية التحديد.

لقطات الشاشة

ملاحظة: كنت سأضيف الصورة الأخرى حيث تختفي الأيقونة للحالة المحددة، ولكني جديد ولا يمكنني إضافة سوى صورة واحدة في الوقت الحالي.

البيئة

  • إصدار Discourse: الأحدث

  • المتصفح: Edge

  • السمة: سمة Foundation

إعجابَين (2)

هذا قيد للمستخدمين الجدد. يمكنك تصفح بعض المواضيع الموجودة حتى يرتفع مستوى الثقة لديك بسرعة إلى 1.

لا يمكنني إعادة إنتاج هذا الخلل.

@BrettH هل يحدث هذا في الوضع الآمن؟

يبدو أن لوحة الألوان الخاصة بك لم يتم تحديثها منذ فترة، لأن هذا ليس لون التحديد العادي. متى كانت آخر مرة قمت فيها بتحديث المنتدى الخاص بك؟

إعجابَين (2)

هل يمكن أن يكون مرتبطًا بـ

؟

نعم، هذا هو المرجح - لقد رأيت مواقف كهذه حيث تنتهي لوحة ألوان مخصصة تم إنشاؤها قبل إضافة ألوان جديدة بتباين ضعيف… @BrettH إذا قمت بإنشاء لوحة ألوان جديدة واستخدمتها، فهل تستمر المشكلة؟

إعجابَين (2)

شكرًا للجميع على الاقتراحات. اسمحوا لي بمعالجة الأسئلة:

NateDhaliwal - لم أجرب في الوضع الآمن بعد، ولكن بناءً على ما يصفه chapoi و Kris، أظن أن الوضع الآمن سيحل المشكلة لأنه سيعود إلى لوحة الألوان الافتراضية الفاتحة بدلاً من لوحتي المخصصة.

@chapoi - سؤال جيد. تم إنشاء لوحة الألوان الخاصة بنا منذ فترة طويلة - بالتأكيد قبل إضافة ألوان selected و hover إلى اللوحة الأساسية. أعتقد أنه تم إعداد اللوحة عندما أطلقنا المجتمع لأول مرة، ولم نقم بتحديثها منذ ذلك الحين.

@awesomerobot - هذا منطقي. بالنظر إلى الكود، يمكنني أن أرى أن resolved_colors تحسب قيمًا احتياطية لـ hover و selected باستخدام dark_light_diff إذا كانت مفقودة من اللوحة. لكن المشكلة هي أن ألوان النص (.name و .desc و .d-icon) لا تزال تستخدم قيمها الافتراضية، والتي تم تصميمها للون التحديد في لوحة الألوان الفاتحة الافتراضية - وليس القيمة الاحتياطية المحسوبة لنمطي الداكن.

سأقوم بإنشاء لوحة ألوان جديدة وتعيين ألوان selected و hover بشكل صريح إلى قيم تتباين بشكل صحيح. أظن أن هذا سيحل المشكلة.

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

شكرًا للمساعدة في تتبع هذا الأمر!

إعجابَين (2)