The missing ::toggled pseudo-selector 🤔 — A summary of Una Kravets’ AMA

We had Una Kravets host an AMA, the past Tuesday. Apart from being a UI Engineer on the Front-end Infrastructure team at DigitalOcean, Una is a well-established speaker, technical writer, and author.

Una gave incredible answers on a wide gamut of questions — including her thoughts on the present day CSS ecosystem, web lessons which she has accumulated over years, her favourite audiobooks, tips on becoming a better technical writer; how “good writing” is a precursor to becoming better at public speaking; and plain-out rad advice on dealing with the fear of missing out on things, dealing with burnout, and more...

That’s a long list. Following is a summary, with Una's answers which you shouldn’t miss; for y’all fine folks who might have missed the AMA.

The Present Day CSS

Commenting on the current trends in the CSS ecosystem, here is a list of things that Una is pretty excited about:

The push for CSS grid in concert with flexbox

Increased awareness of CSS performance, in terms of building pattern libraries and delivering streamlined code to engineers

… and coming to the trends which she thinks have some room for betterment…:

using the same typefaces on every website (Hello “Open Sans”)

not considering accessibility when adding style (like color contrast and adding descriptions to elements that have images included as backgrounds)

Read the full answer here.

Accessibility is important

Una gave advice on how developer teams can give accessibility the front-row seat, in their development efforts

Making accessibility an important core tenant of your company is one way to make beginners care about it :) emphasize how it's key, don't let inaccessible code get merged to production, and accessibility will quickly become a habit/part of the development process.

Read the full answer here.

The missing ::toggled pseudo-selector 💔

Talking about the CSS things that she has a little less love for, Una brought up the lack of CSS features to label style changes on interactive elements.

You can't label interaction style changes in CSS (i.e. there is no ::toggled pseudo-selector)

Support may lead to non-uniform vendor prefixing (which is a problem especially if you're writing vanilla CSS)

It's not very DRY (i.e. in vanilla CSS you have to rewrite classes to target pseudo-states)

Read the full answer here.

Advice on CSS Frameworks

Should you use CSS frameworks? Una presented us with her succinct opinion.

I think CSS frameworks are good for prototyping -- this means, initial product iterations or 36-hour hackathons. Please, please invest in some design and UI development to then build a custom solution when there is a product at hand.

Read the full answer here.

Web Lessons

Being an experienced web developer, and having written quite extensively on the subject, for quite a few years; Una was asked to list the biggest lesson she learned over the years… and we couldn't agree more on what she had to say.

The web will always be a changing entity. I've learned that the only way to be happy working on it is to embrace that change as an interesting challenge and continue to move the web forward.

There's no way to become an expert on everything, but that doesn't make you any less valuable of a team member.

Read the full answer here.

Tips for a developer

Apart from the lessons above, Una had given pointers to the efforts one can put in to become a better UI developer. We would say that this equally applies to Software Development in general!

Get on email lists and actually read them (Codrops is a good resource, there is also CSS Weekly, Javascript Weekly, and many others.

I also recommend making time to either attend a conference or watch conference talks at home. Cue up a few on Youtube and spend a few hours watching/discussing with a fellow tech friend.

Most of all, practice — side projects are key! If you want to learn a new skill, build something using that skill. This will force you to find resources and answers.

Read the full answer here.

Becoming great at Public Speaking

Being prolific at public speaking, Una shared her secrets, for anyone who is aspiring to become one. It involves writing!

Start writing!

Writing a personal blog is the best way to get out ideas and practice forming cohesive storylines. When you have a blog, you can then transform a post into a talk to give at work or at a local meetup.

Start small and work your way up. If you don't have a local meetup nearby, start one, or try to find an online meetup where you can practice your skills. Practice makes you better.

… and one more speaking advice tidbit

What do I pay attention to when speaking!

I try to focus on the audience, gauge who they are and their reaction. Speaking is really about connecting with people — you need to connect before you can get them to hear you.

Read the full answers here, and here.

Becoming great at Writing

Writing, eh? Getting into is not as hard as you might have come to believe. If you have, as Una had put it — an ability to understand the point of view of someone who doesn't have your technical background — then you’re set on the path of becoming a pretty good at technical writing.

To get started, I don't think you need an English degree, you just need a knowledge of the topic at hand and an ability to communicate that topic to someone who might not have the same background as you.

But doesn’t that need a whole lot of creativity? Yes, and the way to creation is execution through consumption. Una explained it better!

When you consume content, you make connections of your own that string the pieces together and come up with new ideas or interpretations. These little bits of inspiration help you to stay creative.

And also, it's not about coming up with creative ideas (humans do that regularly throughout the day), but executing on them. And the executing part I can definitely pin to writing down these ideas and working them into a to-do list.

Read the full answers here, and here.

Building beautiful interfaces and experiences

Speaking of building beautiful user interfaces, and great user experiences, Una cited simplicity and elegance as the key values when approaching UI solutions. She also had great advice on how engineers can work in conjunction to make a product shine.

Involving design in the process early and often is how we maintain a great balance of friendly UI and powerful tools to maintain your system. One of our key values is: "Strive for simple and elegant solutions" and we keep that in mind with every iteration on our product.

Making something beautiful vs. accessible could be an example, and finding that balance is where you can really make a product shine.

Read the full answers here, and here.

Dealing with the "Work/Life balance" problem

We all go through phases of FOMO (Fear of Missing Out), and burnout; and this is especially true with the work/life balance problem. Una acknowledged that this is anything but common, something with which even she struggles with. She had great advice on dealing with it though!

What do you do in the morning, on your commute, or at the gym? You could be listening to podcasts or audiobooks, or even watching conference talks. I think exercise is really important. I get a lot of my ideas for blog posts when I'm working out (not when I'm working on an issue directly). I also make time to see my friends, but also, never watch TV (unless it's with somebody). I wake up early to write and go to bed reading. There's time in your day, it just takes some figuring out, and it's not easy to figure out.

Una’s ways of dealing with burnout:

Sleep! Take breaks! Travel! Learn a new skill (particularly an offline skill, such as calligraphy or woodworking, may be useful). And switch up your front-end-related tasks if you can.

Read the full answers here, and here.

Here is a link to the unabridged version of the AMA.