Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lMS83-00040z-QY for pgadmin-hackers@arkaria.postgresql.org; Wed, 17 Mar 2021 09:06:12 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lMS82-00051w-JR for pgadmin-hackers@arkaria.postgresql.org; Wed, 17 Mar 2021 09:06:10 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lMS82-00051p-9S for pgadmin-hackers@lists.postgresql.org; Wed, 17 Mar 2021 09:06:10 +0000 Received: from mail-lf1-x135.google.com ([2a00:1450:4864:20::135]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1lMS7x-0002Y3-P9 for pgadmin-hackers@postgresql.org; Wed, 17 Mar 2021 09:06:09 +0000 Received: by mail-lf1-x135.google.com with SMTP id t18so1851510lfl.3 for ; Wed, 17 Mar 2021 02:06:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=54i3nUmORIDsDlZUGPQwSdi42rdJ2a65IbWwNkq/ADw=; b=Wt8C7zQM+NKAF3ZewAWivu0psrWhJ6Fk095Qc3pFsK7jF2S3sx9a2hB78oVqrNh+H4 YQAsrjxi2Ga+q+OPgIHnP5sW4I+3kHOpXQ5U7BUFqQY9gnGIu3sm0y45eOXsGRA5ZfnU SVSAZy3aVlhxMNZEHW06W4sxxdwxmYH2ZXkNdv4NeJUiyV/hHAKVDSrAyEedIOoSTtx3 odPajMU+RvyGpgN+F9ekSgji+buYai3fy7sr8QzVKPyzM0jXeuotDFHg8/0WkIJSAWLd oka30dAHucaJQlZ1BuA0Z+bUuOQYwWMzTafw8uhVb4nPo1qiW0dWXQBsFOSaHsVgoY1l 2YkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=54i3nUmORIDsDlZUGPQwSdi42rdJ2a65IbWwNkq/ADw=; b=Dosy7LA/aV4PUPGK3P9p+nBVx70UXsh/oTwLM1HqZIwXu0Q/VAm1orU9wu7ft5OZxj +xn0EXyNWZhA0G6SmNKfO6GXD2mRiJbLnhxDyfDziE/dAdeWgy38qAdE4CWSFuEkP+Ax YdRP7vU2ozwfTrrvmDsg5dhKPp1GNOhrPx+WfMmcYmIGiA3MGar5VN8BDAp7c60Uf5Uv JAv/YguYZpZU+KmweSKpSytANHlbFD2F3FqL7mEqnyXTY+TeNihFP2biHXL2r4Nb56Ue hsRx2RdznF37EcoIvWNhoNJNEcA1SiwJ8ZFqf6NnipZIpX6ou7ExowcBxvtcQq80tGIV a9tA== X-Gm-Message-State: AOAM531SpxZT4r3AzWMXfIc+Gbes+tO/EEXzQf5HDB7uDpR9ou9luUWj PggVjuX6u/1+t8VvZEc9XBQoaSr9oY+QkHS6i70pkOUPMxVGgNJ06FUaMTEjzw0fs8Hrq6A4ITg qaShRSVPhcfS5BJEVUlhnCugrACPJeijLzREmSQfapSAE82xzFNBURQze+ipKSMCVcidwiOr2Qv zigWqtLBRzCOgH2TEUAca0dbrmXXTTZKWV3HGcXekkskJ2OAsF7z8RDJSDV7TJYiQ= X-Google-Smtp-Source: ABdhPJzhk4h0qR2Xp+mNWiD3XRfVuK2bb4/hPgqsqEHU+m951cDwHx/JtxkQTQWaeE9HKzZL0b/4Dw1WHXZR0lk8Gys= X-Received: by 2002:a19:7e4e:: with SMTP id z75mr1834085lfc.618.1615971964522; Wed, 17 Mar 2021 02:06:04 -0700 (PDT) MIME-Version: 1.0 From: Khushboo Vashi Date: Wed, 17 Mar 2021 14:36:05 +0530 Message-ID: Subject: [pgAdmin4][Patch]: RM 6317 - Toggle buttons are inaccessible To: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000e9bce605bdb7ca06" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000e9bce605bdb7ca06 Content-Type: multipart/alternative; boundary="000000000000e9bce405bdb7ca04" --000000000000e9bce405bdb7ca04 Content-Type: text/plain; charset="UTF-8" Hi, Please find the attached patch to fix the RM #6317: Toggle buttons are inaccessible. Our toggle buttons are not the HTML buttons but the combinations of HTML tags which function as a toggle button. As the toggle button itself doesn't have a label/title as it wrapped around a div, we have provided the extra hidden label above the toggle button div, so on receiving the focus, toggle button will read the label we provided(For example: "Can login?, Yes, Toggle. Button''), which was working as expected with Chrome Screen Reader extension, on which we have tested. Unfortunately, most screen readers like VoiceOver, NVDA etc.. read the label and the button as different tags, so when the label gets the focus, the screen reader reads it as "Can login? Yes, Toggle Button", and when we try to click it, we can't, as it is just a label. To fix this issue, I have put the label inside the toggle div, so the label will belong to the toggle button div itself and with the new version of Bootstrap-toggle, the role="button" is already there, so no need to add it. I have tested this patch on Mac with VoiceOver (on which I could reproduce the issue) and it is working fine. After committing this patch, we need to provide the nightly build link to the author of this RM, so he can test with a Braille display. Thanks, Khushboo --000000000000e9bce405bdb7ca04 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

Please find the attached patch to f= ix the RM #6317:=C2=A0 Toggle buttons are inaccessible.

Our toggle buttons are not the HTML buttons but the combinations of H= TML tags which function as a toggle button. As the toggle button itself doe= sn't have a label/title as it wrapped around a div, we have provided th= e extra hidden label above the toggle button div, so on receiving the focus= , toggle button will read the label we provided(For example: "Can logi= n?, Yes, Toggle. Button''), which was working as expected with Chro= me Screen Reader extension, on which we have tested. Unfortunately, most sc= reen readers like VoiceOver, NVDA etc.. read the label and the button as di= fferent tags, so when the label gets the focus, the screen reader reads it = as "Can login? Yes, Toggle Button", and when we try to click it, = we can't, as it is just a label.=C2=A0

To fix = this issue, I have put the label inside the toggle div, so the label will b= elong to the toggle button div itself and with the new version of Bootstrap= -toggle, the role=3D"button" is already there,=C2=A0 so no need t= o add it.

I have tested this patch on Mac with Voi= ceOver (on which I could reproduce the issue) and it is working fine.
=

After committing=C2=A0this patch, we need to provide th= e nightly build link to the author of this RM, so he can test with a Braill= e display.

Thanks,
Khushboo

--000000000000e9bce405bdb7ca04-- --000000000000e9bce605bdb7ca06 Content-Type: application/octet-stream; name="RM_6317.patch" Content-Disposition: attachment; filename="RM_6317.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kmd7yvbc0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZm9ybS5wZ2FkbWluLmpzIGIv d2ViL3BnYWRtaW4vc3RhdGljL2pzL2JhY2tmb3JtLnBnYWRtaW4uanMKaW5kZXggYzEyODgyZjEz Li42ZGJkMGUyNzggMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZm9ybS5w Z2FkbWluLmpzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZm9ybS5wZ2FkbWluLmpz CkBAIC01ODcsNyArNTg3LDYgQEAgZGVmaW5lKFsKICAgICB9LAogICAgIHRlbXBsYXRlOiBfLnRl bXBsYXRlKFsKICAgICAgICc8c3BhbiBjbGFzcz0iPCU9Y29udHJvbExhYmVsQ2xhc3NOYW1lJT4i PjwlPWxhYmVsJT48L3NwYW4+JywKLSAgICAgICc8bGFiZWwgY2xhc3M9InNyLXZhbHVlIHNyLW9u bHkiIGZvcj0iPCU9Y0lkJT4iPjwvbGFiZWw+JywKICAgICAgICc8ZGl2IGNsYXNzPSI8JT1jb250 cm9sc0NsYXNzTmFtZSU+IDwlPWV4dHJhQ2xhc3Nlcy5qb2luKFwnIFwnKSU+Ij4nLAogICAgICAg JyAgICAgIDxpbnB1dCB0YWJpbmRleD0iLTEiIHR5cGU9ImNoZWNrYm94IiBhcmlhLWhpZGRlbj0i dHJ1ZSIgYXJpYS1sYWJlbD0iJyArIGdldHRleHQoJ1RvZ2dsZSBidXR0b24nKSArICciIGRhdGEt c3R5bGU9InF1aWNrIiBkYXRhLXRvZ2dsZT0idG9nZ2xlIicsCiAgICAgICAnICAgICAgZGF0YS1z aXplPSI8JT1vcHRpb25zLnNpemUlPiIgZGF0YS1oZWlnaHQ9IjwlPW9wdGlvbnMuaGVpZ2h0JT4i ICAnLApAQCAtNjE1LDExICs2MTQsMTEgQEAgZGVmaW5lKFsKIAogICAgICAgaWYodGhpcy4kZWwu ZmluZCgnLnRvZ2dsZS5idG4nKS5oYXNDbGFzcygnb2ZmJykpIHsKICAgICAgICAgdGhpcy4kZWwu ZmluZCgnLnNyLXZhbHVlJykudGV4dChgCi0gICAgICAgICAgJHtsYWJlbH0sICR7b2ZmVGV4dH0s IGAgKyBnZXR0ZXh0KCdUb2dnbGUgYnV0dG9uJykgKyBgCisgICAgICAgICAgJHtsYWJlbH0sICR7 b2ZmVGV4dH0sIGAgKyBnZXR0ZXh0KCdUb2dnbGUnKSArIGAKICAgICAgICAgYCk7CiAgICAgICB9 IGVsc2UgewogICAgICAgICB0aGlzLiRlbC5maW5kKCcuc3ItdmFsdWUnKS50ZXh0KGAKLSAgICAg ICAgICAke2xhYmVsfSwgJHtvblRleHR9LCBgICsgZ2V0dGV4dCgnVG9nZ2xlIGJ1dHRvbicpICsg YAorICAgICAgICAgICR7bGFiZWx9LCAke29uVGV4dH0sIGAgKyBnZXR0ZXh0KCdUb2dnbGUnKSAr IGAKICAgICAgICAgYCk7CiAgICAgICB9CiAgICAgfSwKQEAgLTY5Myw2ICs2OTIsNyBAQCBkZWZp bmUoWwogICAgICAgICAuYXR0cignaWQnLCBkYXRhLmNJZCk7CiAKICAgICAgIHRoaXMuJGVsLmZp bmQoJy50b2dnbGUuYnRuIC50b2dnbGUtZ3JvdXAgLmJ0bicpLmF0dHIoJ2FyaWEtaGlkZGVuJywg dHJ1ZSk7CisgICAgICB0aGlzLiRlbC5maW5kKCdkaXYudG9nZ2xlJykuYXBwZW5kKCc8bGFiZWwg Y2xhc3M9InNyLXZhbHVlIHNyLW9ubHkiIGZvcj0iPCU9Y0lkJT4iPjwvbGFiZWw+Jyk7CiAgICAg ICB0aGlzLnNldFNyVmFsdWUoKTsKIAogICAgICAgdGhpcy51cGRhdGVJbnZhbGlkKCk7Cg== --000000000000e9bce605bdb7ca06--