-
Notifications
You must be signed in to change notification settings - Fork 13
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
Migrate to version 7 of a11y-dialog #28
Comments
Hello @morkro I have had a dialogue with Kitty to ask for recommendations on the Vue port of a11y-dialog. I'm the author of AgnosticUI and I'm very motivated to use the wonderful I have temporarily made a proof-of-concept at https://github.com/AgnosticUI/vue3-a11y-dialog which ideally gets completely deleted and properly ported back here to your repository so we only have one Vue repo folks have to look for 😄 I would have started this discussion on its own thread but this one seems pretty relevant and there's no Discussions tab that I can see on my end. I hope you don't mind me piggybacking @renestalder Some items that could use feedback regarding the vue 3 / v7 compatible refactor:
UPDATE: I've been spiking on this and it occurs to me it would be silly to completely retest I think just some minimal verification that the modal shows, can be closed, has correct structure, etc., is enough.
I'm excited to help out here and continue to grow the usage of P.S. I found vue-a11y-dialog-next and the npm too and it was a bit confusing to me because from what I see work hasn't started on that yet (I could be wrong). I can ping the author once we get further if that makes sense. |
Badum tss! 🥁
Depending on which version of Vue is most popular (3 I reckon?), you could also migrate |
Also taking the liberty to ping @marcus-herrmann here, since he apparently attempted a Vue 3 fork about a year ago, as raised by @roblevintennis. |
@KittyGiraudel Yes, vue-a11y-dialog-next is a fork/proof of concept, but incomplete (tests are lacking). Back then I also used Vite, same as @roblevintennis. It is really absurd, but after releasing my ebook, I haven't had any Vue/A11y projects, neither customer stuff nor side projects. |
Hello Kitty (why is at mention not working for me with at-Kitty 🤔 ), thanks for coordinating things! I like the idea of migrating @marcus-herrmann I'm just connecting the dots — funny, I had https://accessible-vue.com/chapter/4/ opened in a browser tab too! Funny back story to all this I was first considering implementing the dialog JavaScript in AgnosticUI and did the usual bunch of research assembling a huge list of about dozen requirements. I was quite bummed to proceed (especially since I would have to do in React, Svelte, Vue 3, and Angular!); I mean, how unlikely that I could get it correct without many bugs right!? I'm very glad I revisited just wrapping Kitty's wonderful and battle-tested a11y-dialog. I have a feeling seeing you recommend this in your ebook might have further persuaded me 💥 💯 I've already wrapped in React and it was a breeze.
That IS absurd! Dang. Well hopefully that changes soon! I'm looking forward to seeing where this all goes and hopefully all of us collaborating on moving this project across more popular frameworks! Maybe in a small way it helps bring a11y awareness — especially if efforts result in making it easy for junior FE devs to "just do the right thing"! |
I've added Cypress tests tonight and moved the work to a proper fork at https://github.com/AgnosticUI/vue-a11y-dialog/tree/vue-3 (so the I think the outstanding things left that come to mind are:
|
Thanks @roblevintennis, @marcus-herrmann, and also @KittyGiraudel for all the energy and effort you've put into this so far. I really appreciate it! First and foremost, bringing To address some of your comments:
I'd intended the
Yes, I agree with that. In my opinion, we should only test the Vue-specific wrapper implementation, not
Sounds good to me :) |
On second thought, I now understand the Vue 2/3 discussion better and realise the need to support the latest
What does everyone prefer? |
@morkro Do you think the hard split is necessary, or can you possibly release everything under the same versions always via vue-demi? Otherwise, the versioning schema you suggest for sure works as it was never raised to 1.0.0 before, so you could even make breaking changes in the Vue 2 version. But as you say, it will get confusing at some point as you will have this wild mix and your changelogs and the version history, that I would say, you're better off dropping Vue 2 support at some point if it doesn't work via something like vue-demi. Furthermore, I thought to have read that Vue 2.7 will be the last minor release for v2, but can't find the information anymore. |
Hi @morkro — thanks for the input and clarifications!
I think this makes sense; partially because of how it's already sort of the reality with:
I think you could say that these versions aren't officially being worked on any more but should be relatively stable. And also regarding the last idea of bumping the previous version to For example: https://github.com/morkro/vue-a11y-dialog/pull/31/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R7 just updates what you had before. I suppose that messaging would just switch to I would also add that, in my opinion, Vue 2 support should only be needed (in terms of the community's needs) for some sort of finite period of time before it's sort of end of lifed; and hopefully the entire community will move to Vue 3 in a year or so. That said, if folks really need Vue 2 support, the branches would still be there for them to use. For the Vue 2 version. Bug fixes probably wouldn't make it into that branch unless absolutely egregious. I don't think folks would have time for that. But I believe it's fairly stable anyway, correct? I updated my PR which I've placed on hold with a small checklist of items like linting and generated Regarding vue-demi, it's an interesting idea! I have not really looked at or used that before. My opinion is that we should just embrace Vue 3 + Vite and the composition api and move forward and leave the Vue 2 version available for those that are not ready to make the switch; and honestly, not put too much effort into accommodating legacy versions by adding dependencies. In my experience, the added complexity and effort to accommodate backwards compatibility in this sort of way should be questioned and weighed against comparable effort to move forward and fully support latest Vue 3 et al idioms. This is especially true for OSS projects where folks are struggling to find time to work on projects in their spare cycles.
Right! So it's sort of like IE11 EOL June 15 in a way...let's fully embrace all the "new ways" and push the web forward 🍰 💥 💯 🚀 |
@morkro I've finished my checklist and here's the verification notes: So I took it out of draft mode and it is now ready for review. |
I've just published Huge thanks to @roblevintennis for all your work on the upgrade and continuous push to get this released :) |
Awesome! 🎉 Thanks @morkro and @KittyGiraudel for allowing me to actively contribute and get involved with this project overall — it was fun contributing and collaborating to get this done and of course it feels especially great to contribute to a proven accessible and inclusive dialog component like |
Version 7 is out and based on the changelog, adds some fundamental improvement regarding the fallback to the native dialog element (by removing it).
(btw. the README currently mentions that the vue wrapper is based on version 5 of the a11y-dialog but seems the code uses v6 already)
The text was updated successfully, but these errors were encountered: