<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Knowledge Base (Posts about accessibility)</title><link>https://bgstack15.ddns.net/blog/</link><description></description><atom:link href="https://bgstack15.ddns.net/blog/categories/accessibility.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2022 &lt;a href="mailto:bgstack15@gmail.com"&gt;bgstack15&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"&gt;
&lt;img alt="Creative Commons License BY-SA"
style="border-width:0; margin-bottom:12px;"
src="https://bgstack15.ddns.net/.images/l_by-sa_4.0_88x31.png"&gt;&lt;/a&gt;</copyright><lastBuildDate>Sun, 29 May 2022 13:17:35 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Improving accessibility in InfCloud</title><link>https://bgstack15.ddns.net/blog/posts/2022/05/29/improving-accessibility-in-infcloud/</link><dc:creator>bgstack15</dc:creator><description>&lt;p&gt;I just wrote about my &lt;a href="https://bgstack15.ddns.net/blog/posts/2022/05/21/calendar-solution-for-internal-network/"&gt;calendar solution&lt;/a&gt;, which uses &lt;a href="https://github.com/Kozea/Radicale"&gt;Radicale&lt;/a&gt; and my fork of &lt;a href="https://gitlab.com/bgstack15/RadicaleInfCloud/-/tree/stackrpms"&gt;InfCloud&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I finally got around to solving an ultimately minor problem, but it makes my day so much better! The application does not display a focus indicator, i.e., a way to know which field you are editing. Text fields have the text cursor of course, but a lot of the inputs are drop-downs (technically they are html selects). I'm hardly a css expert, so it took me quite a while to find the part of the &lt;code&gt;default.css&lt;/code&gt; that affects the elements.&lt;/p&gt;
&lt;p&gt;I started with the language selector drop-down on the login page. I eventually discovered that it was the selector &lt;code&gt;*:focus&lt;/code&gt;. I modified the &lt;code&gt;outline:&lt;/code&gt; attribute and then I could see which field was selected! I gave &lt;code&gt;*:focus&lt;/code&gt; a visible red outline, so now as I tab around on any screen, and even the buttons, I can see which field is currently selected.&lt;/p&gt;
&lt;p&gt;I also modified the login screen so that "login" button is selectable, so I can tab to it. Now, a javascript event still captures the "Enter" keypress, but still, I'm used to tabbing to a submit button and then selecting it. And now I can.&lt;/p&gt;
&lt;p&gt;See the &lt;a href="https://bgstack15.ddns.net/cgit/radicaleinfcloud/commit/?h=stackrpms&amp;amp;id=6328505804224fb551bf84068afde4ea58132ea9"&gt;commit in the repo&lt;/a&gt; (or on &lt;a href="https://gitlab.com/bgstack15/RadicaleInfCloud/-/commit/6328505804224fb551bf84068afde4ea58132ea9"&gt;gitlab&lt;/a&gt;), or here:&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span class="gh"&gt;diff --git a/radicale_infcloud/web/css/default.css b/radicale_infcloud/web/css/default.css&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gh"&gt;index 14e8156..64aeef7 100644&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gd"&gt;--- a/radicale_infcloud/web/css/default.css&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+++ b/radicale_infcloud/web/css/default.css&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gu"&gt;@@ -409,9 +409,10 @@ body, input, select, textarea&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;   position: static;   /* required by fullcalendar */&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;}&lt;span class="w"&gt;&lt;/span&gt;

&lt;span class="gd"&gt;-*:focus&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gd"&gt;-{&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gd"&gt;-   outline: none;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+/* stackrpms removed outline none which is bad for keyboard navigation */&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+*:focus {&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+   outline: 1px solid rgb(180,0,0);&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+   -moz-outline: 1px solid currentcolor;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;}&lt;span class="w"&gt;&lt;/span&gt;

&lt;span class="w"&gt; &lt;/span&gt;select&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gu"&gt;@@ -768,7 +769,7 @@ input[type=text], input[type=password]&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;{&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;   height: 19px;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;   margin-left: 0px;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gd"&gt;-   outline: none;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+   /* stackrpms removed outline none which is bad for keyboard navigation */&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;   border: 0px;&lt;span class="w"&gt;&lt;/span&gt;

&lt;span class="w"&gt; &lt;/span&gt;   padding-left: 2px;   /* it resizes the input size :( */&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gu"&gt;@@ -826,9 +827,10 @@ textarea&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;   resize: none;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;   padding-left: 3px;&lt;span class="w"&gt;&lt;/span&gt;

&lt;span class="gd"&gt;-   outline: none;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gd"&gt;-   -moz-outline: none;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gd"&gt;-   -moz-border-radius: 0px;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+   /* stackrpms removed outline none which is bad for keyboard navigation */&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+   /*outline: none; */&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+   /*-moz-outline: none; */&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+   /*-moz-border-radius: 0px; */&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;

&lt;span class="w"&gt; &lt;/span&gt;   /* mobile safari remove rounded corners */&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;   -webkit-appearance: none;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gh"&gt;diff --git a/radicale_infcloud/web/index.html b/radicale_infcloud/web/index.html&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gh"&gt;index 26ee0d5..39b8583 100644&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gd"&gt;--- a/radicale_infcloud/web/index.html&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+++ b/radicale_infcloud/web/index.html&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gu"&gt;@@ -93,10 +93,7 @@ along with this program. If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;                           &amp;lt;/td&amp;gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;                       &amp;lt;/tr&amp;gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;                       &amp;lt;tr&amp;gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gd"&gt;-                           &amp;lt;td&amp;gt;&amp;lt;img data-type="system_login" alt="login" title="login" src="images/login.svg" onclick="if(event.shiftKey) ignoreServerSettings=true; $(this).closest('form').find('[type=\'submit\']').click();" /&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gd"&gt;-                       &amp;lt;/tr&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gd"&gt;-                       &amp;lt;tr style="display:none"&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gd"&gt;-                           &amp;lt;td&amp;gt;&amp;lt;input type="submit" /&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="gi"&gt;+                           &amp;lt;td&amp;gt;&amp;lt;input type="image" data-type="system_login" alt="login" title="login" src="images/login.svg" onclick="if(event.shiftKey) ignoreServerSettings=true; $(this).closest('form').find('[type=\'submit\']').click();" /&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;                       &amp;lt;/tr&amp;gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;                   &amp;lt;/table&amp;gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;               &amp;lt;/form&amp;gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/pre&gt;</description><category>accessibility</category><category>css</category><category>html</category><category>infcloud</category><guid>https://bgstack15.ddns.net/blog/posts/2022/05/29/improving-accessibility-in-infcloud/</guid><pubDate>Sun, 29 May 2022 13:11:54 GMT</pubDate></item></channel></rss>