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

[HOLD for payment 2024-10-25] [Hold for Payment 2024-10-23][$125] Web - Blue border appears on a radio button when pressing a keyboard #49501

Closed
1 of 6 tasks
IuliiaHerets opened this issue Sep 19, 2024 · 36 comments
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production External Added to denote the issue can be worked on by a contributor Weekly KSv2

Comments

@IuliiaHerets
Copy link

IuliiaHerets commented Sep 19, 2024

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Version Number: 9.0.38-0
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause Internal Team

Action Performed:

  1. Navigate to staging.new.expensify.com and sign in using an expensifail account
  2. Create a workspace
  3. Start adding a bank account via plaid
  4. On "choose an account" page select a radio button that is not currently selected
  5. Press the space bar on your keyboard

Expected Result:

No blue border is visible

Actual Result:

Blue border gets shown on the radio button

Workaround:

Unknown

Platforms:

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Bug6608851_1726748749178.bandicam_2024-09-19_15-19-32-447.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021839026052320413685
  • Upwork Job ID: 1839026052320413685
  • Last Price Increase: 2024-10-11
Issue OwnerCurrent Issue Owner: @OfstadC / @abekkala
@IuliiaHerets IuliiaHerets added Daily KSv2 Bug Something is broken. Auto assigns a BugZero manager. labels Sep 19, 2024
Copy link

melvin-bot bot commented Sep 19, 2024

Triggered auto assignment to @abekkala (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

@IuliiaHerets
Copy link
Author

@abekkala FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

@daledah
Copy link
Contributor

daledah commented Sep 20, 2024

Proposal

Please re-state the problem that we are trying to solve in this issue.

Blue border gets shown on the radio button

What is the root cause of that problem?

The component RadioButton doesn't have noOutline property

The same problem occurs when we click on the text next to the radio button.

What changes do you think we should make in order to solve the problem?

Add styles.noOutline style to the following places:

<PressableWithFeedback
disabled={disabled}
onPress={onPress}
hoverDimmingValue={1}
pressDimmingValue={1}
accessibilityLabel={accessibilityLabel}
role={CONST.ROLE.RADIO}
>

<PressableWithFeedback
tabIndex={-1}
accessible={false}
onPress={onPress}
style={[styles.flexRow, styles.flexWrap, styles.flexShrink1, styles.alignItemsCenter]}
wrapperStyle={[styles.flex1, styles.ml3, styles.pr2]}
// disable hover style when disabled
hoverDimmingValue={0.8}
pressDimmingValue={0.5}
>

What alternative solutions did you explore? (Optional)

@melvin-bot melvin-bot bot added the Overdue label Sep 23, 2024
Copy link

melvin-bot bot commented Sep 23, 2024

@abekkala Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

@bernhardoj
Copy link
Contributor

bernhardoj commented Sep 24, 2024

Edited by proposal-police: This proposal was edited at 2024-09-24 05:40:28 UTC.

Proposal

Please re-state the problem that we are trying to solve in this issue.

A blue outline appear in the radio button when using keyboard.

What is the root cause of that problem?

It's expected that the blue outline will show when using a keyboard, but I think the issue here is with the styling of the outline. Instead of circle, the outline is a square. We have similar issue like this before in #32400 on a different page/component.

In our case, the border style of the radio button is applied to the View inside the pressable.

return (
<PressableWithFeedback
disabled={disabled}
onPress={onPress}
hoverDimmingValue={1}
pressDimmingValue={1}
accessibilityLabel={accessibilityLabel}
role={CONST.ROLE.RADIO}
>
<View style={[styles.radioButtonContainer, hasError && styles.borderColorDanger, disabled && styles.cursorDisabled]}>

So, when we focus on the pressable, the square outline is shown because it's not styled to be a circle.

What changes do you think we should make in order to solve the problem?

We can move the whole style from the View to the pressable and just remove the View. This will fix the issue with the RadioButton component.

However, I still see this issue with another component, specifically in the start chat page.
image

It was previously fixed in #32400, but the page doesn't use OptionRow component anymore, so we need to re-fix it using the same solution from #35028. We can even go further by creating a new component called SelectCircleButton to make the fix DRY and replace all usage of PressableWithFeedback+SelectCircle with SelectCircleButton.

Copy link

melvin-bot bot commented Sep 25, 2024

@abekkala Eep! 4 days overdue now. Issues have feelings too...

@abekkala abekkala added the External Added to denote the issue can be worked on by a contributor label Sep 25, 2024
Copy link

melvin-bot bot commented Sep 25, 2024

Job added to Upwork: https://www.upwork.com/jobs/~021839026052320413685

@melvin-bot melvin-bot bot changed the title Web - Blue border appears on a radio button when pressing a keyboard [$250] Web - Blue border appears on a radio button when pressing a keyboard Sep 25, 2024
@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Sep 25, 2024
Copy link

melvin-bot bot commented Sep 25, 2024

Triggered auto assignment to Contributor-plus team member for initial proposal review - @ntdiary (External)

@melvin-bot melvin-bot bot removed the Overdue label Sep 25, 2024
@abekkala
Copy link
Contributor

@ntdiary we already have a couple proposals for review! 🎉

@ntdiary
Copy link
Contributor

ntdiary commented Sep 26, 2024

I personally think it's fine to show the blue border, as it aligns with WCAG, and Space usually indicates activating the current option. Form MDN:
image

Also, there are many other places in our app where a blue border is displayed when using the keyboard

demo.mp4

We can change the border shape to circle if need, as @bernhardoj suggested.
cc @Expensify/design to see if they have any different inputs. :)

@dannymcclain
Copy link
Contributor

I personally think it's fine to show the blue border, as it aligns with WCAG, and Space usually indicates activating the current option.

I agree with this. I wouldn't mind if we changed the shape to a circle but honestly I don't feel super strongly. Let's see if @dubielzyk-expensify has any strong feelings.

@dubielzyk-expensify
Copy link
Contributor

Yeah agree. This is standard accessibility practise from what I'm aware of, so I'm fine with the blue border

@abekkala
Copy link
Contributor

ah ok - so if design is fine with the blue border I'll close this one!

@bernhardoj
Copy link
Contributor

@abekkala I think we agreed that the blue border is expected, but maybe we want to change it from square to circle.

Before:
image

After:
image

We previously fixed this kind of issue in #32400

cc: @dannymcclain @dubielzyk-expensify

@dubielzyk-expensify
Copy link
Contributor

Yeah the Before looks a bit weird there. If we could fix that, that would be nice

@dannymcclain
Copy link
Contributor

I agree—the after in your post looks much better.

@bernhardoj
Copy link
Contributor

@abekkala hi, can you check the comments above, please?

@abekkala abekkala reopened this Oct 9, 2024
@abekkala
Copy link
Contributor

abekkala commented Oct 9, 2024

Reopening so that this change can be made (square to circle)

Copy link

melvin-bot bot commented Oct 9, 2024

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@abekkala abekkala removed the Bug Something is broken. Auto assigns a BugZero manager. label Oct 11, 2024
@abekkala
Copy link
Contributor

abekkala commented Oct 11, 2024

@OfstadC I'm going ooo until Oct 20 - assigning a BZ buddy to look over this until I return.

STATUS: @ntdiary has just selected a proposal for fix. @luacmartins will review to confirm that it's the best for fix

Removed Bug label again as this is not linked to a project, just a design fix

@abekkala abekkala self-assigned this Oct 11, 2024
@luacmartins
Copy link
Contributor

Agree with #49501 (comment). Let's keep the components separate for now.

@melvin-bot melvin-bot bot removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Oct 11, 2024
@luacmartins luacmartins changed the title [$250] Web - Blue border appears on a radio button when pressing a keyboard [$125] Web - Blue border appears on a radio button when pressing a keyboard Oct 11, 2024
Copy link

melvin-bot bot commented Oct 11, 2024

Upwork job price has been updated to $125

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Daily KSv2 labels Oct 12, 2024
@bernhardoj
Copy link
Contributor

PR is ready

cc: @ntdiary

@OfstadC OfstadC changed the title [$125] Web - Blue border appears on a radio button when pressing a keyboard [Hold for Payment 2024-10-23][$125] Web - Blue border appears on a radio button when pressing a keyboard Oct 17, 2024
@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production and removed Weekly KSv2 labels Oct 18, 2024
@melvin-bot melvin-bot bot changed the title [Hold for Payment 2024-10-23][$125] Web - Blue border appears on a radio button when pressing a keyboard [HOLD for payment 2024-10-25] [Hold for Payment 2024-10-23][$125] Web - Blue border appears on a radio button when pressing a keyboard Oct 18, 2024
Copy link

melvin-bot bot commented Oct 18, 2024

Reviewing label has been removed, please complete the "BugZero Checklist".

@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Oct 18, 2024
Copy link

melvin-bot bot commented Oct 18, 2024

The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.50-8 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2024-10-25. 🎊

For reference, here are some details about the assignees on this issue:

  • @ntdiary requires payment through NewDot Manual Requests
  • @bernhardoj requires payment through NewDot Manual Requests

@abekkala
Copy link
Contributor

I'm back from ooo - unassigning @OfstadC

@abekkala
Copy link
Contributor

abekkala commented Oct 21, 2024

PAYMENT SUMMARY FOR OCT 25

  • Fix: @bernhardoj [$125, if no regressions] payment via NewDot
  • PR Review: @ntdiary [$125, if no regressions] payment via NewDot
    Please complete checklist

@abekkala
Copy link
Contributor

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

  • [@ntdiary] The PR that introduced the bug has been identified. Link to the PR:
  • [@ntdiary] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
  • [@ntdiary] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
  • [@ntdiary] Determine if we should create a regression test for this bug.
    [@ntdiary] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
  • [@abekkala] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

@bernhardoj
Copy link
Contributor

Requested in ND.

@ntdiary
Copy link
Contributor

ntdiary commented Oct 25, 2024

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

  • [@ntdiary] The PR that introduced the bug has been identified. Link to the PR: N/A
  • [@ntdiary] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: N/A
  • [@ntdiary] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: No need
  • [@ntdiary] Determine if we should create a regression test for this bug. No need
    [@ntdiary] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again. No need
  • [@abekkala] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

This is a simple Radio UI improvement, not an issue introduced by another PR, and I’m inclined not to create a regression test for this issue. :)

@JmillsExpensify
Copy link

$125 approved for @bernhardoj

@abekkala
Copy link
Contributor

Closing as last cont. payment will be for @ntdiary [$125] via NewDot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production External Added to denote the issue can be worked on by a contributor Weekly KSv2
Projects
None yet
Development

No branches or pull requests