Це відео не доступне.
Перепрошуємо.

Everything you didn't know you need to know about buttons

Поділитися
Вставка
  • Опубліковано 30 січ 2023
  • Find all the code examples, as well as more detail on everything discussed here, in my full article: www.builder.io/blog/buttons
    #javascript #html #css #webdev #react

КОМЕНТАРІ • 96

  • @Steve8708
    @Steve8708  Рік тому +11

    All the code examples, as well as more detail on everything discussed here, in my full article: www.builder.io/blog/buttons

  • @dotterel
    @dotterel Рік тому +23

    I've been studying CSS for a couple years now and this is hands down the best video I've seen. I love how you went through each one and explain when and why we use each element. I have a lot of trouble learning when people don't explain 'what does this allow us to do and what are we not able to do without it?' You really hit the nail on the head here. I feel like I understand the reasoning behind all 3 cases after just 1 watch, that's pretty incredible.

  • @rdalago
    @rdalago Рік тому +20

    I've been learning A LOT from you! The way your videos are short yet delivering a deep explanation is spot on for me! Thank you.

    • @omersoncruz1081
      @omersoncruz1081 Рік тому

      agreed. Short, concise, and full of practical knowledge.

  • @Htbaa
    @Htbaa Рік тому +8

    For accessibility try not to reinvent controls unless you really have to, but make sure you’re making it accessible! When clicking on this video I was afraid accessibility would be neglected. Happy to see it’s the focus of the video.

  • @hnccox
    @hnccox Рік тому +4

    That MyButton component is actually really nice! Never thought of that. My rule of thumb is that a button is for interaction for things that happen on the current page only, anchor tags are for navigation only.

  • @umutelicabuk6834
    @umutelicabuk6834 Рік тому +6

    I usually don't comment but now I have to. Steve - your delivery is among the cleanest, most concise yet deep teaching styles I have ever come across. You definitely need some more zeros behind that sub count!

  • @SzaboB33
    @SzaboB33 Рік тому +2

    Great video, I did not know I needed this but the a vs div vs button problem was quite frequent for me and this video cleared things up

  • @khairulhaaziq2332
    @khairulhaaziq2332 Рік тому +3

    Steve your teaching method is the most comprehensible i've come accross. Please continue making these! I really hope you release some more basic stuffs also

  • @JEsterCW
    @JEsterCW Рік тому

    Holy sheee, this is quality content. I have watched few of ur shorts before, but after this video i was 100% sure i wanna follow u constantly.

  • @AmxCsifier
    @AmxCsifier Рік тому

    Just great and useful content, no filler no spam no nonsense... This is why I open youtube
    This channel deserves at least 1 mil subs, I hope you get there someday

  • @kenfrostyypaws9113
    @kenfrostyypaws9113 Рік тому

    You're absolutely nailing this format my guy. Keep em coming!

  • @nicolasguillenc
    @nicolasguillenc Рік тому

    Literally amazing man. One of the best tutorials I've ever seen. It's humbling because who thinks about buttons twice? But there's so mucho to know

  • @yangenmanuel2659
    @yangenmanuel2659 Рік тому +1

    I just discovered this channel and I need to watch all of your videos!!!

  • @gnaneshwarrao174
    @gnaneshwarrao174 Рік тому

    Thank you so much for sharing. I always was fumbled in this conundrum and now you gave a solution with your pattern. Thanks a ton!

  • @uscjake868
    @uscjake868 Рік тому

    Outstanding. I love the style of demonstrating the good and the bad. You saved a lot of trial and error.

  • @amitse
    @amitse Рік тому +2

    Another discussion is on button disabled state and the color contrast debate around it.
    Another thing to remember you can’t disable links. All you can do is to hide them.

  • @8koi245
    @8koi245 Рік тому

    The style of the code and browser window is LOVELY

  • @NoName-1337
    @NoName-1337 Рік тому +1

    Nice, didn't know about all:unset. Thank you!!!

  • @loia5tqd001
    @loia5tqd001 Рік тому

    Love this so much ❤ all the details people usually overlook or don’t talk about

  • @re.liable
    @re.liable Рік тому +2

    Just starting to watch. The "rule" I try to remember is: anchor for navigation, button for interaction
    The styling bits are the reason why a CSS reset is necessary for me.
    The conditional rendering is nice I suppose

  • @joostschuur
    @joostschuur Рік тому

    I hate that I learned so much about buttons from this video. Thanks, Steve. I hope you're happy.
    Also, keep up the good work 😊

  • @tariksohan8993
    @tariksohan8993 Рік тому

    Simple with good explanation. My favourite kinda Ytber.

  • @lamarredavy8145
    @lamarredavy8145 Рік тому

    Thank you for all your videos, short and so usefull !

  • @joemathan6101
    @joemathan6101 Рік тому

    Wow wow wow!!! Appreciate your efforts on explaining minor details

  • @sveinnthz
    @sveinnthz Рік тому

    instantly subscribed, best presented web dev video i’ve ever seen

  • @ivankraev4264
    @ivankraev4264 Рік тому +1

    You are like Matt Pocock but for javascript 😀 Great content

  • @duccdefgab
    @duccdefgab Рік тому +1

    i've learned so much in just 4 minutes. Great content 👏👏👏

  • @YashKadamYT
    @YashKadamYT Рік тому

    This is so concise & useful! Thanks a lot for sharing!

  • @aPinix
    @aPinix Рік тому

    I already knew this but learned it the hard way unfortunately. Thank you for for evangelizing this knowledge for everyone. Cheers!

  • @srkuleo
    @srkuleo Рік тому

    Well this was way more useful than I thought it would be.
    Really nice trick with conditional.

  • @yuryitikhonoff9631
    @yuryitikhonoff9631 Рік тому +1

    OMG. It's a gem. So concise and meaningful. Thanks a lot to the author.

  • @peteryates308
    @peteryates308 Рік тому

    As someone who builds accessible websites, it's easiest to just stick to the intended purpose of the element.
    Buttons submit (or reset forms), anchors create hyperlinks. They are both accessible and understood by just about all assistive software and have worked in the same fashion for 30 years.
    Yeah, if you're building something fancy then adding custom functionality to role=button buttons is fair, but I see so many people starting from scratch without realising they've lost accessibility features along the way.

  • @chennasreenu4723
    @chennasreenu4723 Рік тому +1

    Fantastic tutorial, thanks a lot man.

  • @shakapaker
    @shakapaker Рік тому

    Oh my god that way of explaining things it's just amazing

  • @user-lm5ju8nc2t
    @user-lm5ju8nc2t Рік тому

    Nice! That was helpful, man!

  • @BritainRitten
    @BritainRitten Рік тому +1

    Excellent video, thanks for explaining.

  • @lukecartwright613
    @lukecartwright613 Рік тому

    Super explanation video! This was brilliant! Thank you for sharing

  • @heyjitendra
    @heyjitendra Рік тому

    Wow. Amazing content Steve

  • @mervinmarias9283
    @mervinmarias9283 Рік тому

    Was watching your video and was whole time thinking, "why not just make it a web component?". Then you actually did exactly as I thought lol.

  • @thedigitalceo
    @thedigitalceo Рік тому

    This was great Steve. Thank you 🙏🏼 I think for things with anchor tags we should probably use buttons for accessibility purposes. I love the one component you showed to render the consistent button!! Although our designers tend to have a few button variations so would be good to see that as well. Would love to have you on my channel for a collab once. Thank you again!

  • @dinaiswatching
    @dinaiswatching Рік тому

    Thanks, that sure was helpful. Since I've been using qwik, it's nice to know the nitty and gritty details of some html tags

  • @JenilCalcuttawala
    @JenilCalcuttawala Рік тому

    Great video! 👏

  • @youngnwadike5312
    @youngnwadike5312 Рік тому

    I love this, thanks Steve

  • @mattshnoop
    @mattshnoop Рік тому

    Also good to look into the other focus styles! There are focus-within and focus-visible. Good for other things.

  • @FunctionGermany
    @FunctionGermany Рік тому

    awesome tutorial!

  • @SushilKumar-ig8ls
    @SushilKumar-ig8ls Рік тому

    Great unknowns to know for me 😀 Thanks a lot for these tricks

  • @Noam-Bahar
    @Noam-Bahar 5 місяців тому

    Incredible video 👏

  • @Biowulf21
    @Biowulf21 Рік тому

    Looks like I have a new channel to binge

  • @mohamedcherif9878
    @mohamedcherif9878 Рік тому

    I learned something new today thank you

  • @pizzasteve-is-here
    @pizzasteve-is-here Рік тому

    awesome, keep going

  • @nurhamsah_tech
    @nurhamsah_tech Рік тому

    Wow,
    thanks man 👍👍

  • @jamiroquaiordie
    @jamiroquaiordie Рік тому

    May I just discovered my new favourite full-stack dev youtuber? I guess I did

  • @zombiefacesupreme
    @zombiefacesupreme Рік тому +1

    You know someone has only coded in React when they make fun of the idea of "button"

  • @cotneit
    @cotneit Рік тому

    all: unset blew my mind, can't believe this is the first time I'm hearing about it

  • @Ismail-hq8cq
    @Ismail-hq8cq Рік тому

    Is this a coincidence, or does the youtube algorithm know what is in my mind ? I wanted to learn how to make a text clickable, and this video is the first video in my feed.

  • @godofwar8262
    @godofwar8262 5 місяців тому +1

    More videos please

  • @kingl5519
    @kingl5519 Рік тому +1

    Subscribed.

  • @mfkfawas5157
    @mfkfawas5157 Рік тому

    Amazing

  • @StephenGillie
    @StephenGillie Рік тому

    Go the other way - use an A link with Javascript onclick. This is great for SPA page rewrites.

  • @RicardoValero95
    @RicardoValero95 Рік тому

    This is great
    Still I’d love to see the div button fully reimplemented

  • @EthanStandel
    @EthanStandel Рік тому +2

    I think it would have been worth it to note that you probably want :focus-visible and not just :focus styles.

    • @Steve8708
      @Steve8708  Рік тому

      Ah yes! Just learned about this after posting the vid, but updated the blog post to use focus-visible

    • @EthanStandel
      @EthanStandel Рік тому +1

      @@Steve8708 nice! Otherwise, this was excellent and something that everyone building a component library should watch just to see the base considerations of things you might want to call "simple"

  • @igigloo
    @igigloo Рік тому +1

    what about input type=button? is there any difference with a normal button type=button?

  • @berightben8318
    @berightben8318 Рік тому

    Quality, pure quality. Subscribe

  • @Marcus-cf2li
    @Marcus-cf2li Рік тому

    Great

  • @ricko13
    @ricko13 Рік тому

    what if you add role="button" to an anchor tag?

  • @ShaharHarshuv
    @ShaharHarshuv Рік тому

    Do people actually still use the native submit functionality?

  • @tounsoo
    @tounsoo Рік тому +1

    Typescript version of this is super messy. You have to use polymorphic methods to get the correct type inferred and its a pain. After experiencing, I now like to separate them into and for better and cleaner type.

  • @kittyrah2800
    @kittyrah2800 Рік тому

    Why not use ?

  • @arianj2863
    @arianj2863 Рік тому

    Why not wrap a button with an anchor tag?

  • @vinaciotm
    @vinaciotm 6 місяців тому

    all: unset !!! Wow nice 👍

  • @ricko13
    @ricko13 Рік тому

    💪

  • @mahadevovnl
    @mahadevovnl Рік тому

    If I see one more job application project where people NEST a and an I'll cry. W3C standards exist for many reasons. Mixing conflicting interactive elements makes my brain hurt.

  • @TheBaca91
    @TheBaca91 Рік тому

    I think that this kind of merge of buttons and link are not good mainly because it blurs distinctions between these two tags. In real designing scenarios there should be clear styling diference between how button and how link looks like so user know what to expect. If its button it will perform some kind of action, as for link it expects routing behaviour. So in your case you would need to pass variant to your merge button. But that button variant could be applied on both elements wich will cause undesired styles for one. It is much more clear to have buttons separetad from links since in its nature they are not same html tags. Besides it would be weird from dev perspective to see button with hrf atribute. We should keep our code ease to read

  • @p0358
    @p0358 Рік тому

    It’s a good video, but in a few places at the beginning your audio was cut a bit badly, some of the words you spoke were cut off in the middle, making it a bit awkward to listen to

  • @frontend_ko
    @frontend_ko Рік тому

    Nice frontend tip

  • @toby_cm
    @toby_cm Рік тому

    Can you add back the subtitles like before? I really appreciate them

  • @TheVralapa
    @TheVralapa Рік тому

    Prefer outline-color:transparent; over outline:none; better for high contrast themes.

  • @6644guilherme
    @6644guilherme Рік тому

    I like the part where he says "type equals butt..."

  • @tommy_corey
    @tommy_corey Рік тому

    Wow I didnt know pewdiepie knew how to code

  • @anuvette
    @anuvette 8 місяців тому

    not knowing button is type submit by default gave me so much headache

  • @shutdow88
    @shutdow88 Рік тому

    Great content, as all other channel videos
    ...so no need for the clickbait face expression in thumbnails 😜

  • @Unc3
    @Unc3 Рік тому +1

    if (event.key === Space || Enter) is borked logic. Just saying

  • @jeramymorrill2729
    @jeramymorrill2729 4 місяці тому

    Switching the tag type behind the component is much to magic. Unless you work totally alone, you have created a scenario where someone using your component will think they are getting a button and may be getting an anchor. Components should be simple, pure and never contain magic.

  • @edwardmacnab354
    @edwardmacnab354 5 місяців тому

    you guys always end up making things way more complicated than it needs to be . I don't mean YOU as a teacher , I mean the designers of this crap !

  • @MaxFunoff
    @MaxFunoff Рік тому

    MyButton component like this example is an unnecessary abstraction...

  • @termisher5676
    @termisher5676 Рік тому

    Bruh
    Now we have problem
    Now that is not working
    Now this is broken.
    Why do you touch it let it be.

  • @Nodsaibot
    @Nodsaibot Рік тому

    lol F accessibility use your div my man

  • @unifiedcodetheory8406
    @unifiedcodetheory8406 Рік тому

    All of the issues you mentioned with using the button tag are actually non-issues. Especially since you're using react, you would never just use a button tag anyway. You should make your own button components for coupling styles and functionality.

  • @lescobrandon2202
    @lescobrandon2202 Рік тому +1

    Buttons suck.

  • @WabuhWabuh
    @WabuhWabuh 7 місяців тому

    if you wanted to just teach html, dont put it in javascript...