(Diğer şeylerin yanı sıra) her biri yaklaşık 5-10 seçenek içeren 3 açılır menü içeren bir form var. Bu açılır listelerdeki seçenekler yakından ilişkilidir ve bazı permütasyonlar geçersiz olacaktır. Bu ayrıca, kullanıcı açılır listelerden birindeki seçimi değiştirirse, diğer ikideki geçerli değerlerin geçersiz olabileceği anlamına gelir.
Tasarım dokümanım şu anda "geçersiz bir kombinasyon seçilirse bir hata görüntülenmesi gerektiğini" ve "kullanıcının geçerli kombinasyonları seçmesine yardımcı olmak için açılır listelerdeki geçersiz bir kombinasyon oluşturacak tüm seçeneklerin açılır listede düşük ışıkla aydınlatılması gerektiğini belirtir. ".
Bunun bununla başa çıkmanın en iyi yolu olduğuna ikna olmadım ama daha iyi alternatifler düşünemiyorum. Onları tüm geçerli kombinasyonları içeren tek bir açılır menüde birleştirmeyi düşündüm, ancak bu da hantal olabilir.
Başka çözümü olan var mı?
Açılır listeler arasında bir sipariş belirle yapabiliyorsanız, çözüm nispeten kolaydır:
Her bir açılır seçim, aşağıdaki (aşağı akış) açılır listelerindeki seçimleri sıfırlar. Ayrıca mevcut alanları, o açılır menüdeki geçerli seçime uyacak şekilde güncelleştirir (izin verilmeyen seçenekleri göstermez).
Örneğin eski harita sitelerini düşünün: Bir eyalet, sonra bir şehir ve ancak o zaman bir sokak seçebilirsiniz. Eyaleti değiştirirseniz, daha önce seçmiş olduğunuz şehri kaybedersiniz.
farklı bir sipariş yoksa varsa:
Mevcut seçim (ler) ile çakışan yeni değerlerin seçilmesine izin verme.
Sanırım bu seçenekleri seçimden önce açılır menüden "düşük ışıkta" (koyduğunuz gibi) yapabilirsiniz.
"Düşük Işık" (koyduğunuz gibi) gibi sorunlu yeni değerler, ancak kullanıcının bunları seçmesine izin verin.
Ardından, yeni değerin sorunlu olduğunu açıklayan bir iletişim kutusu görüntüleyebilirsiniz.
Kullanıcı aşağıdakileri seçebilir:
Her neyse, iletişim kutusunun "seçimi hatırla" onay kutusu olması gerekir, bu nedenle bir dahaki sefere kullanıcıyı rahatsız etmez.
Dikey alan eksikliği sorunu olabileceğini anlasam da, kesinlikle deneyeceğim açılır menü kullanmama, bunun yerine liste tipi öğeleri kullanmaya çalışacağım (çoklu veya radyo giriş gruplarını seç ) - Bu, kullanıcının bir grupta diğer gruplardaki seçenekleri etkileyen bir şey seçerken meydana gelen değişiklikleri görmesini sağlar.
Ayrıca - en azından bir) en yaygın seçim setlerine kısayol sağlamaya çalışırım b) her şeyi yeniden tasarlamaya çalışırım. Bu arayüz "basit" olarak adlandırılamaz, ancak pürüzsüz yapabilirsiniz :)
Bunu birçok kez gördüm ve açık olan şey geçersiz kombinasyonları 'reddetmek' olsa da bazı dezavantajları var:
Teklif ettiğim şey geçersiz seçimlere izin vermemek. Spesifikasyonlarınız izin verilmemesi gerektiğini söylemiyor; düşük aydınlatma aynı değildir. Yasadışı seçimleri, vurguyu kaldırarak yasal olanlardan farklı hale getirin, ancak bunların seçilmesine izin verin. Bunu, yasa dışı bir kombinasyon seçildiğinde ortaya çıkan, nedeni veren ve bir alternatif öneren (ve kullanıcının bir sonraki adıma geçmesine izin vermeyen) bir mesaj alanı ile birleştirin.
Seçimler bir sekansa bölünebilirse tüm bunlar geçersizdir: o zaman seçenekleri sırayla sunmak ve her seçenek sunulduğunda yasadışı olanlara izin vermemek çok daha mantıklıdır.
Bazı seçenekler geçersizse, bunları göstermemelisiniz. Bu, kullanıcıya bir hata görüntülenme olasılığını azaltacaktır.
Bu bir web uygulaması içinse, seçime bağlı olarak geçersiz seçenekleri ortadan kaldırmak için JavaScript'i kullanın. İlk açılır menü kullanıldıktan sonra uygun seçeneklerle ikinci açılır listeyi aşamalı olarak gösterin. Üçüncü için aynen. Sunucu tarafı doğrulayın ve yalnızca sunucu tarafı doğrulamanızdan sonra doğrulanmazsa bir hata görüntülemeniz gerekir. Yalnızca JavaScript devre dışı bırakılmış olanlar veya kasıtlı olarak formunuzu atlamaya çalışanlar hatayı görür.
Bir masaüstü uygulaması içinse aynı tür prensibi kullanın.