As a blind web developer, I want to like Semantic. My usual mode of developing HTML, once it's at the "I need to make this look good" stage, is "show it to my girlfriend and ask her various questions." She says things like "I wish X were a bit larger," or "Y should be blue," and pulling that off in Bootstrap is challenging. I can drop down to lower-level CSS, but have no clue how my changes interact with Bootstrap's…
Semantic UI
221–230 of 257 posts
Re: Semantic UI
#222Earlier quoted context omitted.
You're ignoring GPPs argument though, 'basket', 'product' and 'searchResults' aren't reusable. From the POV of a dev on your team (who knows the framework), I know how to change 'pull-left', 'row', 'col-xs-4' to get the result I want without CSS spelunking.
My answer was implicit is the final comment. The purpose of those elements is not re-use. It's clarity. The re-use happens in the Sass (or other preprecessor) code. Somewhere in your Sass, you define "basket" as a "pull-left; row; col-xs-4" or even higher level constructs which you plan to re-use... that's up to you. The point is they are orthogonal issues. Creating re-usable chunks of CSS does not suddenly absolve y…
However, there's no denying the reusability of classes like 'col-xs-4', despite the knee jerk hatred of that 'non-semantic' class from some in this thread, and I maintain that if all you needed was a col-xs-4 and your team know what col-xs-4 is, then why not just stick it in your HTML.
It doesn't make it less 'readable' for your team, and they're the primary audience.
> You can do either one without the other, but you should be doing both.
I guess I'm disagreeing you should always be doing both. Do both (create a new semantic class-name) where it makes sense. But when you already have a reusable class that does the job, and all of your team will understand, just use it.
Re: Semantic UI
#223Earlier quoted context omitted.
> except that it tells me absolutely nothing as a dev about what it looks like. That's because it shouldn't be. > You shouldn't be using your CSS classes to tag sections, that's what id is for No, you might can have multiple "products" on the page. > And now, if I want to change the "basket" style, I'm praying that I didn't break something on the other side of the application. So in order to mitigate that issue, you…
> That's because it shouldn't be. Why not? Who's reading my HTML? It's not there to be read by a user. HTML is for devs. They're the ones that deal with it. > No, you might can have multiple "products" on the page. True, in that case you would use a CSS class with no styling if you need code to select the block. > Absolutely none of this true if you use Sass (or an equivalent) properly. It doesn't matter what you use…
As devs, we can view this html through a browser and use in-browser dev tools to view the associated CSS. There's no need to explain the style in the HTML.
Re: Semantic UI
#224When I started Picnic CSS[1] there were few CSS libraries out there and the ones that were available were severely lacking. They didn't have either :hover or :active states, no transitions, etc. Now with new libraries or modern versions of those, including Semantic UI, I wonder whether it's time to stop supporting it and switch to one of those. They are still different but with somewhat similar principles (at least c…
Re: Semantic UI
#225As a blind web developer, I want to like Semantic. My usual mode of developing HTML, once it's at the "I need to make this look good" stage, is "show it to my girlfriend and ask her various questions." She says things like "I wish X were a bit larger," or "Y should be blue," and pulling that off in Bootstrap is challenging. I can drop down to lower-level CSS, but have no clue how my changes interact with Bootstrap's…
Incredible, thanks for sharing your unique experience, I don't know the difference of and when I use Semantic-UI, because they show the same thing. According to your declaration, I think from now on I will better use the latter one.
Yes, it isn't super complicated, but a) most don't do it because they look identical and b) multiply that by any other widget where the HTML version is replaced with a div and suddenly things get complicated. If you're not a keyboard user, you may not understand how the web works without a mouse. All that is lost when switching to divs.
This says nothing about how OS/screen reader combinations differ in key handling, nor about how complex widgets such as multiselects include similarly complex key handling. Also, the above ARIA is super simplistic. It doesn't handle situations where, for instance, you have multiple roles and have to toggle some of them based on what item is selected, what item is focused, etc.
So, TLDR: It's so much better to use the HTML elements specifically designed for a certain task because you get a lot for free that is taken for granted. That said, I like how Semantic specifies how my UI might look, an wish I could have the best of both worlds.
Re: Semantic UI
#226Re: Semantic UI
#227Earlier quoted context omitted.
> except that it tells me absolutely nothing as a dev about what it looks like. That's because it shouldn't be. > You shouldn't be using your CSS classes to tag sections, that's what id is for No, you might can have multiple "products" on the page. > And now, if I want to change the "basket" style, I'm praying that I didn't break something on the other side of the application. So in order to mitigate that issue, you…
> That's because it shouldn't be. Why not? Who's reading my HTML? It's not there to be read by a user. HTML is for devs. They're the ones that deal with it. > No, you might can have multiple "products" on the page. True, in that case you would use a CSS class with no styling if you need code to select the block. > Absolutely none of this true if you use Sass (or an equivalent) properly. It doesn't matter what you use…
There is no way for you to mess up something at the other end of your web app if you use specific sass files for specific web pages. The 'basket' class can be defined as one thing on the page for selling baskets, and it can be defined completely differently on some other page where baskets are, idk, displayed in some other way.
Re: Semantic UI
#228Earlier quoted context omitted.
Incredible, thanks for sharing your unique experience, I don't know the difference of and when I use Semantic-UI, because they show the same thing. According to your declaration, I think from now on I will better use the latter one.
1. The div is not keyboard-focusable by default, so you need to add `tabindex="0"`. 2. By default, the div does not trigger click on Enter/Space, so you need to add a keyup handler to make it do so. 3. Screen readers won't report the div as a button because they can't identify widgets based on how they look, so add `role="button"` as per the ARIA spec (only on first cup of coffee now, so I'm not providing a link.) Ye…
Re: Semantic UI
#229I use Semantic UI in production on https://partsbox.io/ and can list some upsides and downsides. On the positive side: * very complete, with good form styling, and lots of widgets you will use often, which is especially important for larger apps, * the default theme is mature and has good usability, without the crazy "oh, how flat and invisible our UI is!" look. * the class naming plays well with React (I use Clojure…
FYI: The React version - is jQuery free http://react.semantic-ui.com/introduction
Re: Semantic UI
#230What is the best way to think of this. Is this like Twitter Bootstrap and Zurb Foundation, or is this like something else entirely?
This is the step between making prototypes with Bootstrap/Foundation and turning those classes/mixins into a final working application. You don't want your final build to have a bunch of 'col-md-6' class names.
How is that different than col-md-8? Either can be used as HTML classes or Sass mixins.