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

Wrapped KRadioButton groups in KRadioButtonGroup #12751

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

Conversation

iamshobhraj
Copy link
Contributor

@iamshobhraj iamshobhraj commented Oct 25, 2024

Summary

Wrapped the unwrapped KRadioButton Groups in KRadioButtonGroup tag to ensure keyboard navigation in firefox.

References

Reviewer guidance

  • After running the script, some v directive divs were changed to non continuous, so i manually fixed those files.
  • Some tests were failed while testing locally, but i didnt make any changes to those files. Develop branch also failed those tests.

Testing checklist

  • Contributor has fully tested the PR manually
  • If there are any front-end changes, before/after screenshots are included
  • Critical user journeys are covered by Gherkin stories
  • Critical and brittle code paths are covered by unit tests

PR process

  • PR has the correct target branch and milestone
  • PR has 'needs review' or 'work-in-progress' label
  • If PR is ready for review, a reviewer has been added. (Don't use 'Assignees')
  • If this is an important user-facing change, PR or related issue has a 'changelog' label
  • If this includes an internal dependency change, a link to the diff is provided

Reviewer checklist

  • PR is fully functional
  • PR has been tested for accessibility regressions
  • External dependency files were updated if necessary (yarn and pip)
  • Documentation is updated
  • Contributor is in AUTHORS.md

@github-actions github-actions bot added DEV: renderers HTML5 apps, videos, exercises, etc. APP: Device Re: Device App (content import/export, facility-syncing, user permissions, etc.) APP: Facility Re: Facility App (user/class management, facility settings, csv import/export, etc.) APP: Coach Re: Coach App (lessons, quizzes, groups, reports, etc.) APP: User Re: User app (sign-in, sign-up, user profile, etc.) APP: Setup Wizard Re: Setup Wizard (facility import, superuser creation, settings, etc.) DEV: frontend labels Oct 25, 2024
Copy link
Member

@nucleogenesis nucleogenesis left a comment

Choose a reason for hiding this comment

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

Thank you for your work on this! I've added a couple of requests for changes which, in summary, are:

  • The KRadioButtonGroup should only wrap what is necessary for it to do its job. There are several places where it's wrapped around structural/layout components which could cause issues / conflicts
  • There are several lines that seem arbitrarily removed - if this is a result of your parsing script (and not our linter) then we'll want to revert the non-functional changes. If our linter did make the changes, ignore this

@MisRob
Copy link
Member

MisRob commented Nov 5, 2024

We will need @radinamatic's approval here as well. Radina, this PR attempts to address #10491 for all radio buttons in Kolibri.

MisRob
MisRob previously requested changes Nov 5, 2024
Copy link
Member

@MisRob MisRob left a comment

Choose a reason for hiding this comment

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

Thanks @iamshobhraj, this is a great start and will be wonderful a11y improvement. I agree with @nucleogenesis concern regarding the placement of KRadioButtonGroup. There's some more nuance to it though so I posted more guidance with examples. I didn't review all places so would ask you to revisit and align all changes with that. Let us know if you had any questions.

@MisRob
Copy link
Member

MisRob commented Nov 5, 2024

@radinamatic there will some code changes based on @nucleogenesis and my review - it'd be best to do QA rather after that.

@rtibbles rtibbles assigned MisRob and unassigned MisRob Nov 8, 2024
Copy link
Member

@nucleogenesis nucleogenesis left a comment

Choose a reason for hiding this comment

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

I think that with some additional regression testing by @radinamatic or @pcenov would be great here.

I saw some minor syntax inconsistencies that I noted but overall the updates look good to me. I'll request changes on that particular issue and will dismiss my request upon successful QA

kolibri/core/assets/src/views/UserTable/index.vue Outdated Show resolved Hide resolved
@iamshobhraj
Copy link
Contributor Author

@nucleogenesis i fixed the syntax inconsistency. just waiting for the QA. But now there is a merge conflict. It was fine yesterday. How do i fix this?

@pcenov
Copy link
Member

pcenov commented Nov 14, 2024

Thanks @iamshobhraj - no issues observed while manually testing, LGTM!

@radinamatic
Copy link
Member

Apologies for the delay, I'll look at this later today, @iamshobhraj! 🙏🏽

@iamshobhraj
Copy link
Contributor Author

Apologies for the delay, I'll look at this later today, @iamshobhraj! 🙏🏽

No worries, I'm in no such hurry. Take your time.

@radinamatic
Copy link
Member

Thank you for your contribution @iamshobhraj, keyboard navigation seems to be working correctly! 🙏🏽

@MisRob I apologize for not making it more explicit, but when I linked the ARIA Authoring Practices Guide (APG) for radio button in the initial issue, I hoped that we would also implement the proper radiogroup role in the KRadioButtonGroup component. This role offers a better UX to screen reader users by providing context that they are navigating through (and selecting from) a group of related set of options, and how many they have available.

APG example Current Kolibri implementation (this PR)
2024-11-15_02-06-41 2024-11-15_02-08-43

@iamshobhraj
Copy link
Contributor Author

Thanks, @radinamatic ! Great to hear the keyboard navigation is on point. I’m glad to be part of these improvements.

@MisRob
Copy link
Member

MisRob commented Nov 15, 2024

@MisRob I apologize for not making it more explicit, but when I linked the ARIA Authoring Practices Guide (APG) for radio button in the initial issue, I hoped that we would also implement the proper radiogroup role in the KRadioButtonGroup component. This role offers a better UX to screen reader users by providing context that they are navigating through (and selecting from) a group of related set of options, and how many they have available.

Hi @radinamatic, this is rather a new KDS task. @iamshobhraj if you're interested, you're welcome to message us for an assignment here learningequality/kolibri-design-system#828. Let's keep it separately from this work.

@iamshobhraj
Copy link
Contributor Author

@MisRob I'll be happy to take up the new KDS task. But there is a merge conflict in this PR. Is it for me to fix it? If so, how do I fix it?

@MisRob
Copy link
Member

MisRob commented Nov 15, 2024

@iamshobhraj Thanks for offering to take care of the conflicts, that'd be much appreciated. You could resolve them by merging the latest develop to your branch and then using the usual conflict resolution workflow. I like to use VSCode to resolve conflicts but there's more ways you could do it. One idea I had would be, for these files, to accept whatever is coming from develop and then re-wrapping the radio buttons in the group. Sometimes it's the easiest. But you will see depending on the nature of conflicts. Depending on your confidence and experience with these kinds of tasks, you could also consider making a backup of your branch. Let us know how it goes.

@iamshobhraj
Copy link
Contributor Author

@MisRob Merge conflict is fixed. I believe this PR is ready to be merged

@MisRob
Copy link
Member

MisRob commented Nov 15, 2024

Thanks! I will let @nucleogenesis to do the final approve as he saw most of the changes.

@iamshobhraj
Copy link
Contributor Author

@nucleogenesis i believe this pr is ready to be merged. are there any additional changes you would like me to make?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
APP: Coach Re: Coach App (lessons, quizzes, groups, reports, etc.) APP: Device Re: Device App (content import/export, facility-syncing, user permissions, etc.) APP: Facility Re: Facility App (user/class management, facility settings, csv import/export, etc.) APP: Setup Wizard Re: Setup Wizard (facility import, superuser creation, settings, etc.) APP: User Re: User app (sign-in, sign-up, user profile, etc.) DEV: frontend DEV: renderers HTML5 apps, videos, exercises, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants