Klassenlehrer-Tab: Warnung/Gefahr-Farben per validate_palette.js ersetzt
Amber und Korallrot waren laut Nutzer-Feedback auf dem Bildschirm kaum auseinanderzuhalten. Die dataviz-Skill-Validierung bestätigte das quantitativ (ΔE 2.5 unter Deuteranopie, 11.4 selbst bei normaler Farbwahrnehmung — beides unter der Zielschwelle). Neue Werte aus der validierten Kategorial-/Statuspalette der Skill statt erneut freihändig gewählter Farben; Tagesüberblick-Balken tauscht zusätzlich die Segmentreihenfolge, weil Grün und das neue Dunkel-Gelb sonst direkt aneinanderstießen. Auch ein Kopiereinfügen-Duplikat in TODO.md behoben. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -27,11 +27,22 @@
|
||||
<SolidColorBrush x:Key="AppFilterActiveBackgroundBrush" Color="#173765"/>
|
||||
<SolidColorBrush x:Key="AppFilterActiveBorderBrush" Color="#3C86F7"/>
|
||||
<SolidColorBrush x:Key="AppFilterActiveForegroundBrush" Color="#FFFFFF"/>
|
||||
<!-- Status -->
|
||||
<SolidColorBrush x:Key="AppStatusOkBrush" Color="#73C45A"/>
|
||||
<SolidColorBrush x:Key="AppStatusInfoBrush" Color="#4C8DFF"/>
|
||||
<SolidColorBrush x:Key="AppStatusWarningBrush" Color="#F59E0B"/>
|
||||
<SolidColorBrush x:Key="AppStatusDangerBrush" Color="#FF5A67"/>
|
||||
<!-- Status: Nutzer-Feedback (August 2026) — Warnung (Amber) und Gefahr (Korallrot) waren
|
||||
auf dem Bildschirm kaum auseinanderzuhalten. Per scripts/validate_palette.js der
|
||||
dataviz-Skill gegen AppTrackBackgroundBrush/AppCardBackgroundBrush geprüft (adjacent
|
||||
pairs, wie sie im gestapelten Balken tatsächlich aneinanderstoßen): die alte Kombi
|
||||
lag bei ΔE nur 4.6–10.8 (protan/deutan), jetzt 10.2–24.4 — deutlich über der
|
||||
Zielschwelle von 8. Ok/Warnung mussten zusätzlich im Tagesüberblick-Balken die
|
||||
Reihenfolge tauschen (Info dazwischen), weil Grün und das validierte Dunkel-Gelb sonst
|
||||
direkt aneinanderstießen (ΔE nur 3.0 unter Protanopie) — siehe
|
||||
ClassTeacherOverviewView.axaml.
|
||||
good=#008300, warning(dunkel)=#c98500, warning(hell)=#eda100, critical=#d03b3b
|
||||
sind dieselben Stufen wie die validierte Kategorial-/Statuspalette der dataviz-Skill;
|
||||
bewusst nicht wieder frei gewählt, um nicht erneut ins selbe Problem zu laufen. -->
|
||||
<SolidColorBrush x:Key="AppStatusOkBrush" Color="#008300"/>
|
||||
<SolidColorBrush x:Key="AppStatusInfoBrush" Color="#3987E5"/>
|
||||
<SolidColorBrush x:Key="AppStatusWarningBrush" Color="#C98500"/>
|
||||
<SolidColorBrush x:Key="AppStatusDangerBrush" Color="#D03B3B"/>
|
||||
</ResourceDictionary>
|
||||
|
||||
<ResourceDictionary x:Key="Light">
|
||||
@@ -52,11 +63,11 @@
|
||||
<SolidColorBrush x:Key="AppFilterActiveBackgroundBrush" Color="#D7E6FC"/>
|
||||
<SolidColorBrush x:Key="AppFilterActiveBorderBrush" Color="#2C6FD8"/>
|
||||
<SolidColorBrush x:Key="AppFilterActiveForegroundBrush" Color="#10243F"/>
|
||||
<!-- Status -->
|
||||
<SolidColorBrush x:Key="AppStatusOkBrush" Color="#2E7D32"/>
|
||||
<SolidColorBrush x:Key="AppStatusInfoBrush" Color="#1B5FC7"/>
|
||||
<SolidColorBrush x:Key="AppStatusWarningBrush" Color="#A45B00"/>
|
||||
<SolidColorBrush x:Key="AppStatusDangerBrush" Color="#C0272D"/>
|
||||
<!-- Status: siehe Dark-Kommentar oben — dieselbe Validierung, helle Stufen. -->
|
||||
<SolidColorBrush x:Key="AppStatusOkBrush" Color="#008300"/>
|
||||
<SolidColorBrush x:Key="AppStatusInfoBrush" Color="#2A78D6"/>
|
||||
<SolidColorBrush x:Key="AppStatusWarningBrush" Color="#EDA100"/>
|
||||
<SolidColorBrush x:Key="AppStatusDangerBrush" Color="#D03B3B"/>
|
||||
</ResourceDictionary>
|
||||
|
||||
</ResourceDictionary.ThemeDictionaries>
|
||||
|
||||
@@ -236,7 +236,13 @@
|
||||
Prozentzahlen erschlossen. Jedes Segment multipliziert per MultiBinding
|
||||
die gerenderte Breite der Track-Leiste (x:Name="DayOverviewTrack") mit
|
||||
seinem Anteil 0…1 (FractionWidthConverter) — bleibt dadurch korrekt, egal
|
||||
wie breit die Seitenspalte in XAML gerade ist. -->
|
||||
wie breit die Seitenspalte in XAML gerade ist.
|
||||
Reihenfolge Ok→Info→Warnung→Gefahr (nicht Ok→Warnung→Info→Gefahr):
|
||||
Grün und das validierte Dunkel-Gelb liegen unter Protanopie zu nah
|
||||
beieinander (ΔE 3.0), direkt benachbart wäre das dieselbe Verwechslung
|
||||
wie beim ursprünglichen Nutzer-Feedback zu Warnung/Gefahr. Mit Info
|
||||
dazwischen entspricht die Reihenfolge zudem der echten Dringlichkeit
|
||||
(siehe ClassTeacherRosterRow.AttentionRank: Gefahr > Warnung > Info > Ok). -->
|
||||
<Grid Height="10" ToolTip.Tip="{Binding DayOverviewTooltip}">
|
||||
<Border x:Name="DayOverviewTrack" Background="{DynamicResource AppTrackBackgroundBrush}"
|
||||
CornerRadius="5"/>
|
||||
@@ -250,14 +256,6 @@
|
||||
</MultiBinding>
|
||||
</Border.Width>
|
||||
</Border>
|
||||
<Border Classes="statusFill warning">
|
||||
<Border.Width>
|
||||
<MultiBinding Converter="{x:Static conv:FractionWidthConverter.Instance}">
|
||||
<Binding ElementName="DayOverviewTrack" Path="Bounds.Width"/>
|
||||
<Binding Path="LateFraction"/>
|
||||
</MultiBinding>
|
||||
</Border.Width>
|
||||
</Border>
|
||||
<Border Classes="statusFill info">
|
||||
<Border.Width>
|
||||
<MultiBinding Converter="{x:Static conv:FractionWidthConverter.Instance}">
|
||||
@@ -266,6 +264,14 @@
|
||||
</MultiBinding>
|
||||
</Border.Width>
|
||||
</Border>
|
||||
<Border Classes="statusFill warning">
|
||||
<Border.Width>
|
||||
<MultiBinding Converter="{x:Static conv:FractionWidthConverter.Instance}">
|
||||
<Binding ElementName="DayOverviewTrack" Path="Bounds.Width"/>
|
||||
<Binding Path="LateFraction"/>
|
||||
</MultiBinding>
|
||||
</Border.Width>
|
||||
</Border>
|
||||
<Border Classes="statusFill danger">
|
||||
<Border.Width>
|
||||
<MultiBinding Converter="{x:Static conv:FractionWidthConverter.Instance}">
|
||||
@@ -279,8 +285,8 @@
|
||||
</Grid>
|
||||
<StackPanel Spacing="5">
|
||||
<StackPanel Orientation="Horizontal" Spacing="6"><Border Width="7" Height="7" CornerRadius="4" Classes="statusFill"/><TextBlock Text="{Binding PresentSummaryLabel}" FontSize="12"/></StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Spacing="6"><Border Width="7" Height="7" CornerRadius="4" Classes="statusFill warning"/><TextBlock Text="{Binding LateSummaryLabel}" FontSize="12"/></StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Spacing="6"><Border Width="7" Height="7" CornerRadius="4" Classes="statusFill info"/><TextBlock Text="{Binding ExcusedAbsenceSummaryLabel}" FontSize="12"/></StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Spacing="6"><Border Width="7" Height="7" CornerRadius="4" Classes="statusFill warning"/><TextBlock Text="{Binding LateSummaryLabel}" FontSize="12"/></StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Spacing="6"><Border Width="7" Height="7" CornerRadius="4" Classes="statusFill danger"/><TextBlock Text="{Binding UnexcusedAbsenceSummaryLabel}" FontSize="12"/></StackPanel>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
|
||||
Reference in New Issue
Block a user