rubyforgood / casa

Volunteer management system for nonprofit CASA, which serves foster youth in counties across America.
https://casavolunteertracking.org/
MIT License
313 stars 476 forks source link

Bug: Tab Navigation of forms lacks focus outline for certain inputs #6065

Open thejonroberts opened 1 month ago

thejonroberts commented 1 month ago

Impacted User Types

Environment

ex: all

Current Behavior

When I tab through a form, the focus outline disappears for certain inputs. Notable in case contact form. Affects at least checkbox inputs.

This is annoying for me, who likes to use keyboard for things, but a huge problem for accessibility.

Expected Behavior

I expect to see an outline of where I currently am in the form so that I can tab navigate all the way through it.

How to Replicate

    • Log in as an volunteer.
    • Navigate to a Case
    • Click on Create New Contact.
    • Try to tab around the form.

How to access the QA site

Login Details:
Link to QA site

Login Emails:

password for all users: 12345678

The Problem:

public/assets/css/main.css

a:focus,
input:focus,
textarea:focus,
button:focus,
.btn:focus,
.btn.focus,
.btn:not(:disabled):not(.disabled).active,
.btn:not(:disabled):not(.disabled):active {
  text-decoration: none;
  outline: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

In app/views/layouts/application.html.erb:

  <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>
  <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>

  <% if all_casa_admin_signed_in? %>
    <%= javascript_include_tag "all_casa_admin", "data-turbo-track": "reload", defer: true %>
  <% end %>

  <link rel="stylesheet" href="/assets/css/lineicons.css">
  <link rel="stylesheet" href="/assets/css/materialdesignicons.min.css">
  <link rel="stylesheet" href="/assets/css/main.css">

proposed solutions:

  1. Move main.css from application.html to application css bundle
    • remove anything in main.css that bootstrap reset takes care of, like focus styles
    • will increase bundle size
    • won't change any rules, still could be change in styles from cascade re-ordering
  2. Clean up main.css so that it doesn't contain focus reset rules.
    • also move it above stylesheet_link_tag in app layout?
  3. Remove main.css and configure bootstrap properly, fix issues that arise...
    • probably too much work
joaoiguana commented 3 days ago

Hi! I would like to give it a try on this issue. Could you please assign it to me?