{"id":1525,"date":"2018-11-28T18:00:11","date_gmt":"2018-11-28T17:00:11","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=1525"},"modified":"2018-12-01T11:19:57","modified_gmt":"2018-12-01T10:19:57","slug":"barrierefreie-farbkontraste-revisited-die-ganze-html-palette","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2018\/11\/28\/barrierefreie-farbkontraste-revisited-die-ganze-html-palette\/","title":{"rendered":"Barrierefreie Farbkontraste revisited: die ganze HTML-Palette"},"content":{"rendered":"<h2>140 Farben war mir zuwenig<\/h2>\n<p>Ich habe in dem Artikel \u00fcber <a href=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/2018\/10\/04\/barrierefreie-farbkontraste-2-der-sourcecode\/\">Barrierefreie Farbkontraste 2<\/a> den Source zur Bestimmung von idealen Kontrastfarben nach WCAG-Richtlinien aus den benannten Farben der HTML-Palette vorgestellt. Jetzt habe ich das Thema nochmal aufgegriffen, weil mir die Beschr\u00e4nkung auf die benannten Farben doch ein zu enges Korsett war, das sind ja nur ca. 140, und der HTML-Farbraum umfasst\u00a0 bekanntermassen 24 Bit Farbtiefe, das sind 16.777.216 Farben. Ich hatte damals eine MySQL Tabelle der benannten Farben mit ihren RGB-Werten verwendet, das Konzept habe ich jetzt gekippt, bei \u00fcber 16 Mio Farben war mir das dann doch zu unhandlich.<\/p>\n<h2>Der ganze HTML-Farbraum<\/h2>\n<p>Statt dessen benutze ich jetzt den ganzen Farbraum zur Bestimmung der idealen Kontrastfarben und berechne mir die RGB-Komponenten durch drei geschachtelte While-Schleifen. Na ja, nicht den <strong>ganzen<\/strong> Farbraum, ich steppe mit einer definierten Schrittweite durch die RGB-Werte, damit die Ergebnisse nicht so un\u00fcbersichtlich werden. In der Testphase hat sich eine Schrittweite von 20 als praktikabel erwiesen, da hat man noch eine wirklich grosse Auswahl m\u00f6glicher Farben, und es bleibt trotzdem recht \u00fcbersichtlich.<\/p>\n<h2>Was das Programm macht<\/h2>\n<p>Zur Eingabe der vom Benutzer gew\u00fcnschten Farbe benutze ich wieder einen Colorpicker, man k\u00f6nnte aber auch gleichgut ein Textfeld zur Eingabe des Hex- oder RGB-Wertes vorsehen. Die gew\u00e4hlte Farbe wird in ihre RGB-Komponenten zerlegt, mithilfe der Formel f\u00fcr die relative wahrgenommene Helligkeit wird die Brightness bestimmt. Ein barrierefreier Farbkontrast wird bei einer Differenz der Brightness zweier Farben von einem Wert von ca. 120 bis 130 erzielt, diesen kann man im Code festlegen.<\/p>\n<p>Ich steppe jetzt in drei geschachtelten Schleifen durch den gesamten 24-Bit-Farbraum. Damit das nicht uferlos wird, gebe ich wie gesagt f\u00fcr jede Iteration eine Schrittweite von 20 an, bei Bedarf k\u00f6nnte man das auch noch feiner oder gr\u00f6ber einstellen.<\/p>\n<p>Ich berechne die Brightness der jeweils aktuellen Farbe, berechne die Differenz zur vom Benutzer gew\u00e4hlten Farbe und gebe die aktuelle Farbe nur dann aus, wenn diese Differenz \u00fcber dem eingestellten Schwellwert liegt. Bei der Ausgabe liefere ich dann gleich den rgb(x,y,z) der aktuellen Farbe mit. That&#8217;s it &#8211; wenn ich dazukomme, mache ich die Tage noch ein paar Screenshots der Ausgabe. Den Sourcecode liefere ich diesmal nicht mit, der kommt in mein Portfolio \ud83d\ude42<\/p>\n<h2>Nachtrag: die Screenshots<\/h2>\n<p>Der Startbildschirm ist unspektakul\u00e4r, hat aber auch nur eine Funktionailt\u00e4t: den Colorpicker.<\/p>\n<div id=\"attachment_1530\" style=\"width: 1140px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-1530\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1530\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_start.jpg\" alt=\"el_allcolors_start\" width=\"1130\" height=\"274\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_start.jpg 1130w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_start-300x73.jpg 300w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_start-768x186.jpg 768w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_start-1024x248.jpg 1024w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_start-624x151.jpg 624w\" sizes=\"(max-width: 1130px) 100vw, 1130px\" \/><p id=\"caption-attachment-1530\" class=\"wp-caption-text\">el_allcolors_start<\/p><\/div>\n<p>Hier ein Ausschnitt des Ergebnisses, man sieht dass die gew\u00e4hlte Farbe wirklich gut zu den vorgeschlagenen Farben kontrastiert:<\/p>\n<div id=\"attachment_1531\" style=\"width: 1095px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-1531\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1531\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_ergebnis.jpg\" alt=\"el_allcolors_ergebnis\" width=\"1085\" height=\"643\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_ergebnis.jpg 1085w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_ergebnis-300x178.jpg 300w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_ergebnis-768x455.jpg 768w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_ergebnis-1024x607.jpg 1024w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_ergebnis-624x370.jpg 624w\" sizes=\"(max-width: 1085px) 100vw, 1085px\" \/><p id=\"caption-attachment-1531\" class=\"wp-caption-text\">el_allcolors_ergebnis<\/p><\/div>\n<p>Ganz am Ende gebe ich noch aus, wieviele m\u00f6gliche Kontrastfarben es gibt:<\/p>\n<div id=\"attachment_1532\" style=\"width: 1050px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-1532\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1532\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_anzahlfarben.jpg\" alt=\"el_allcolors_anzahlfarben\" width=\"1040\" height=\"543\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_anzahlfarben.jpg 1040w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_anzahlfarben-300x157.jpg 300w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_anzahlfarben-768x401.jpg 768w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_anzahlfarben-1024x535.jpg 1024w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2018\/11\/el_allcolors_anzahlfarben-624x326.jpg 624w\" sizes=\"(max-width: 1040px) 100vw, 1040px\" \/><p id=\"caption-attachment-1532\" class=\"wp-caption-text\">el_allcolors_anzahlfarben<\/p><\/div>\n<p>Das wars &#8211;\u00a0 viel Spa\u00df beim Aust\u00fcfteln!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>140 Farben war mir zuwenig Ich habe in dem Artikel \u00fcber Barrierefreie Farbkontraste 2 den Source zur Bestimmung von idealen Kontrastfarben nach WCAG-Richtlinien aus den benannten Farben der HTML-Palette vorgestellt. Jetzt habe ich das Thema nochmal aufgegriffen, weil mir die Beschr\u00e4nkung auf die benannten Farben doch ein zu enges Korsett war, das sind ja nur [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[65,11,4,63],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/1525"}],"collection":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/comments?post=1525"}],"version-history":[{"count":5,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/1525\/revisions"}],"predecessor-version":[{"id":1533,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/1525\/revisions\/1533"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=1525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=1525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=1525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}