Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: improving accessibility by using semantic tags and aria-related props #261

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

risaddex
Copy link

@risaddex risaddex commented May 19, 2024

Esse PR tenta resolver alguns dos problemas mencionados na issue#246

  • Foram adicionados aria-labels a alguns botões ( de voltar / refresh / hamburger menu, etc)
  • Trocados algumas tags "h1" usadas para deixar aspecto negrito por "strong"
  • Adicionados algumas tags/roles como aria-role="list" e aria-role="listitem" às listas de abrigos

Demais mudanças por favor me atualizem

Em relação ao problema das ruas, a seguinte "gambiarra" poderia ser usada para tentar substituir os nomes das ruas a nível de cliente (o q optei por não colocar pq além de ser má prática envolve regexp, que costuma quebrar bastante a performance, ainda mais sendo itens que rodam em alguns loops)

const streetAbbrvRegexp = /^[R]\./i
// Leitores como JAWs da vida/ 
const SemanticAddress = ({ address }) => {
    return (
        <>
            {address.match(streetAbbrvRegexp) ? (
                <>
                    <span
                        className="text-muted-foreground text-sm md:text-lg font-medium"
                        aria-label="Rua"
                    >
                        R.
                    </span>
                    {address.replace(streetAbbrvRegexp, '')}
                </>
            ) : (
                address
            )}
        </>
    )
}

Copy link

@marcossanhudo marcossanhudo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As mudanças feitas melhoram a usabilidade com o Windows Narrator e o NVDA, dentro do escopo proposto.

@@ -23,7 +23,7 @@ const InfoRow = React.forwardRef<HTMLDivElement, IInfoRowProps>(
{value}
</a>
) : (
<h1 className="font-semibold">{value}</h1>
<strong className="font-semibold">{value}</strong>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Questionamento: dada a className de formatação, ainda é necessário usar a tag strong? Ou faria mais sentido apenas uma div ou uma span?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nesse ponto, parti do princípio que: mesmo se fosse lido em um html puro, ainda teria o destaque. Não creio que essa tag dê mais ênfase ao utilizar leitores de tela.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

É, faz sentido. Podemos manter assim, então.

@@ -13,6 +13,7 @@ const ToastViewport = React.forwardRef<
>(({ className, ...props }, ref) => (
<ToastPrimitives.Viewport
ref={ref}
label="Notificações estarão acessíveis através da tecla {hotkey}"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excelente.

@marcossanhudo
Copy link

Quanto à gambiarra do "R." das ruas, ela funcionou no Windows Narrator, mas não no NVDA. Não sei se é possível resolver isso.

@giggio giggio linked an issue May 20, 2024 that may be closed by this pull request
@risaddex
Copy link
Author

As mudanças feitas melhoram a usabilidade com o Windows Narrator e o NVDA, dentro do escopo proposto.

Então, eu não cheguei a implementar essas mudanças, apenas mencionei a possibilidade.
Assumo que vc testou localmente?
(Não leve a mal, quero apenas ter ctz que estamos falando da mesma situação)

falo pq não sei se ativar o TalkBack do Google é o suficiente pra satisfazer o critério, e ~~não tenho boas recordações de instalar o NVDA ou JAWs no Ubuntu ~~

@marcossanhudo
Copy link

Eu clonei sua branch pra testar localmente, sim. Só para agilizar as coisas :).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] Acessibilidade com falhas de audição
2 participants