se

Absence of bund around deepened pond worries residents of Morais Garden Extension in Tiruchi

The pond at Runway Nagar, Kottapattu, which was deepened a few months ago, is now filled with water after recent rain. Residents are worried that it may overflow and the stagnant water might become a haven for snakes and insects.




se

Samayamoorthy is HRM Secretary, Atul Anand is MSME Secretary




se

Litigant withdraws PIL seeking revival of 2001 flyover construction scam case against T.N. CM Stalin

The Madras High Court also permits him to withdraw ₹1 lakh deposited in April this year to prove his bona fide intention




se

Madras High Court transfers cases against IT, Cable TV Rules to Delhi High Court

Justices M. Sundar and K. Rajasekar take the decision in light of the orders passed by the Supreme Court




se

Stalin urges Jaishankar to secure release of T.N. fishermen in Sri Lankan Navy’s custody

In his letter, Mr. Stalin sought immediate diplomatic efforts to prevent such arrests




se

Kanguva cannot be released without depositing ₹20 crore: Madras High Court

Justices G. Jayachandran and C.V. Karthikeyan pass the order on an application filed by the Official Assignee of the High Court




se

Dynamics of phase-separated microdroplets near the contact line of evaporating all-aqueous drops

Soft Matter, 2024, 20,8260-8266
DOI: 10.1039/D4SM01056F, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Rahul Rai, Maheshwar Gopu, Senthan Pugalneelam Parameswaran, Tapan Chandra Adhyapak, Dileep Mampallil
Evaporation of multicomponent drops can induce liquid–liquid phase separation and spatial reconfiguration of phases through complex dynamics near the contact line.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Chain stretching in brushes favors sequence recognition for nucleobase-functionalized flexible precise oligomers

Soft Matter, 2024, 20,8303-8311
DOI: 10.1039/D4SM00866A, Paper
Kseniia Grafskaia, Qian Qin, Jie Li, Delphine Magnin, David Dellemme, Mathieu Surin, Karine Glinel, Alain M. Jonas
Flexible oligomers having precise sequences of nucleobases do not specifically recognize surface-grafted target chains at low grafting density. Moderately higher grafting densities promote sequence-specific recognition thanks to chain stretching.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

The impact of cross-linker distribution on magnetic nanogels: encapsulation, transport and controlled release of the tracer

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM00797B, Paper
Open Access
Ivan S. Novikau, Ekaterina V. Novak, Sofia S. Kantorovich
Differences in crosslinker concentration between the core and periphery of a magnetic nanogel slow down the release of a non-magnetic cargo.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Microrheology of gemini surfactants at interfaces and in solutions in the dilute and semidilute regimes

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM00860J, Paper
Mayssa Medfai, Antonio Stocco, Christophe Blanc, Maurizio Nobili, Martin In
The interface of semidilute Gemini surfactant solutions remains fluid and is less viscous than the bulk. Depletion of the viscosity near the interface plays a key role in microrheology.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Carboxymethyl cellulose-stabilized calcium phosphate particles for injectable hydrogel-based bone tissue engineering

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM00670D, Paper
Piyaporn Srisura, Yuwaporn Pinyakit, Umphan Ngoensawat, Pongsakorn Yuntasiri, Khoiria Nur Atika Putri, Theerapat Chanamuangkon, Waranyoo Phoolcharoen, Varol Intasanta, Voravee P. Hoven
Carboxymethyl cellulose-stabilized calcium phosphate particles well-dispersed in aqueous solution can be integrated into an injectable hydrogel made of methacrylated hyaluronic acid which is a promising material for bone regeneration applications.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

A macroscopic magneto-optical response resulting from local effects in ferronematic liquid crystals

Soft Matter, 2024, 20,8363-8372
DOI: 10.1039/D4SM00577E, Paper
Xiangshen Meng, Xiaowei Li, Jian Li, Yueqiang Lin, Xiaodong Liu, Zhenghong He
The dynamic rotational behavior of composite chains under a rotating magnetic field was observed. The birefringence and dichroism variations in FNLCs mainly stem from the magnetic response of the composite chains, indicating local effects.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Nanoconfinement effects on the dynamics of an ionic liquid-based electrolyte probed by multinuclear NMR

Soft Matter, 2024, 20,8436-8445
DOI: 10.1039/D4SM01058B, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Andrei Filippov, Maiia Rudakova, Victor P. Archipov, Faiz Ullah Shah
Diffusivity is controlled by exchange of ions between “narrow” and “large” pores that results in an abnormal temperature variation. Li+ ions are solvated inside the porous glasses and their diffusivity remains slower as compared to the organic ions.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Development of a coarse-grained molecular dynamics model for poly(dimethyl-co-diphenyl)siloxane

Soft Matter, 2024, 20,8480-8492
DOI: 10.1039/D4SM00875H, Paper
Weikang Xian, Amitesh Maiti, Andrew P. Saab, Ying Li
Polydimethylsiloxane and its copolymer systems have a wide range of application. We systematically develop a coarse-grained MD model for PDMS-co-PDPS system. The model preserves the structural and dynamic properties of the material quantitatively.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Effective patchiness from critical points of a coarse-grained protein model with explicit shape and charge anisotropy

Soft Matter, 2024, 20,8455-8467
DOI: 10.1039/D4SM00867G, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Jens Weimar, Frank Hirschmann, Martin Oettel
Critical points of an anisotropic, coarse-grained protein model are used to detemine an “effective patchiness” by comparison to the Kern–Frenkel patchy model.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Segregative phase separation of strong polyelectrolyte complexes at high salt and high polymer concentrations

Soft Matter, 2024, 20,8505-8514
DOI: 10.1039/D4SM00994K, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Conner H. Chee, Rotem Benharush, Lexi R. Knight, Jennifer E. Laaser
Complexes of strong polyelectrolytes prepared well above the binodal are shown to undergo hydrophobicity-driven segregative phase separation.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Self-assembly of amphiphilic homopolymers grafted onto spherical nanoparticles: complete embedded minimal surfaces and a machine learning algorithm for their recognition

Soft Matter, 2024, 20,8385-8394
DOI: 10.1039/D4SM00616J, Paper
D. A. Mitkovskiy, A. A. Lazutin, A. L. Talis, V. V. Vasilevskaya
Amphiphilic macromolecules grafted onto spherical nanoparticles can self-assemble into morphological structures corresponding to the family of complete embedded minimal surfaces. They arise situationally, can coexist and transform into each other.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Optimality and cooperativity in superselective surface binding by multivalent DNA nanostars

Soft Matter, 2024, 20,8515-8523
DOI: 10.1039/D4SM00704B, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Christine Linne, Eva Heemskerk, Jos W. Zwanikken, Daniela J. Kraft, Liedewij Laan
Our study shows that DNA nanostars with three binding sites (ligands) can (1) bind superselectively to surfaces based on receptor density, and (2) that interactions between ligands affect the optimum number of ligands required for superselectivity.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Random field reconstruction of three-phase polymer structures with anisotropy from 2D-small-angle scattering data

Soft Matter, 2024, 20,8493-8504
DOI: 10.1039/D4SM00721B, Paper
Open Access
Stephen Kronenberger, Nitant Gupta, Benjamin Gould, Colin Peterson, Arthi Jayaraman
We present a computational method to analyze 2D small-angle scattering data from three-phase soft materials systems with structural anisotropy and output representative real-space structures of the three phases.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Mechanical characterization of freestanding lipid bilayers with temperature-controlled phase

Soft Matter, 2024, 20,8524-8537
DOI: 10.1039/D4SM00706A, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Arash Yahyazadeh Shourabi, Roland Kieffer, Djanick de Jong, Daniel Tam, Marie-Eve Aubin-Tam
Lipid membranes formed in a microfluidic device are studied with temperature-controlled optical tweezers, revealing how mechanical properties of ripple phase and gel-fluid phase-separated membranes change when heated above the transition temperature.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

pH and glucose dual-responsive phenylboronic acid hydrogels for smart insulin delivery

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM01004C, Paper
Keke Yang, Hou Bo, Dewei Ma, Mingwei Peng, Qinglong Liu, Ziwen Heng, Zhongwei Gu, Xuhan Liu, Siyuan Chen
Phenylboronic acid (PBA) is a widely exploited glucose-sensitive element for constructing glucose-responsive hydrogels to enable smart insulin delivery.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Retraction: Self-assembled organic nanotubes embedding hydrophobic molecules within solid bilayer membranes

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM90171A, Retraction
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Naohiro Kameta, Masumi Asakawa, Mitsutoshi Masuda, Toshimi Shimizu
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Modeling nematic phase main-chain liquid crystal elastomer synthesis, mechanics, and thermal actuation via coarse-grained molecular dynamics

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM00528G, Paper
Nicolas Herard, Raja Annapooranan, Todd Henry, Martin Kroger, Shengqiang Cai, Nicholas Boechler, Yelena Sliozberg
This paper presents a coarse-grained molecular dynamics simulation study of the synthesis, mechanics, and thermal actuation of nematic phase main-chain liquid crystal elastomers (LCEs), a type of soft, temperature-responsive, polymeric...
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Src kinase slows collective rotation of confined epithelial cell monolayers

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM00827H, Paper
Nastassia Pricoupenko, Flavia Marsigliesi, Philippe Marcq, Carles Blanch-Mercader, Isabelle A Bonnet
Collective cell migration is key during development, wound healing and metastasis and relies on coordinated cell behaviors at the group level. Src kinase is a key signalling protein for physiological...
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Thickness-dependent response of aerosol-jet-printed ultrathin high-aspect-ratio electrochemical microactuators

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM00886C, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Ji Zhang, Jeremy J. Baumberg, Sohini Kar-Narayan
Trilayer electrochemical actuators comprising an electrolyte layer sandwiched between two electrode layers have been shown to exhibit large deformations at low actuation voltages. Here we report aerosol-jet printing (AJP) of...
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Scale-dependent interactions enable emergent microrheological stress response of actin–vimentin composites

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM00988F, Paper
Julie Pinchiaroli, Renita Saldanha, Alison E. Patteson, Rae M. Robertson-Anderson, Bekele J. Gurmessa
The unique mechanical behaviors of actin–vimentin composites in both linear and nonlinear regimes are shaped by the complex interactions among actin entanglements, vimentin crosslinking, and poroelastic properties.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Liquid crystalline collagen assemblies as substrates for directed alignment of human Schwann cells

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM00534A, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Homa Ghaiedi, Luis Carlos Pinzon Herrera, Saja Alshafeay, Leonard Harris, Jorge Almodovar, Karthik Nayani
Collagen is a key component of the extracellular matrix (ECM) and well-oriented domains of collagen are important for mimicking the local cell environment in vitro. Here, we demonstrate macroscopic alignment on collagen in 2-D substrates and 3-D hydrogels.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Towards a universal model for the foaming behavior of surfactants: a case study on per- and polyfluoroalkyl substances (PFAS)

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM00931B, Paper
Muchu Zhou, Reza Foudazi
Foam fractionation offers a promising solution for the separation of surface-active contaminants from water.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Entropically and enthalpically driven self-assembly of a naphthalimide-based luminescent organic π-amphiphile in water

Soft Matter, 2024, 20,8684-8691
DOI: 10.1039/D4SM00986J, Paper
Sk Mursed Ali, Sujauddin Sk, Shuvajyoti Sarkar, Sayani Das, Nayim Sepay, Mijanur Rahaman Molla
Entropically and enthalpically favourable vesicular self-assembly of a naphthalimide based water soluble luminescent organic dipolar building block is reported.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Influence of counterion type on the scattering of a semiflexible polyelectrolyte

Soft Matter, 2024, 20,8610-8620
DOI: 10.1039/D4SM00874J, Paper
Open Access
Anish Gulati, Jack F. Douglas, Olga Matsarskaia, Carlos G. Lopez
Understanding the influence of counterion and backbone solvation on the conformational and thermodynamic properties of polyelectrolytes in solution is one of the main open challenges in polyelectrolyte science.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

The role of macrocycles in supramolecular assembly with polymers

Soft Matter, 2024, 20,8549-8560
DOI: 10.1039/D4SM01053A, Review Article
Ruslan Kashapov, Yuliya Razuvayeva, Elena Fedorova, Lucia Zakharova
Supramolecular self-assembly of polymers with macrocycles has attracted the attention because it enables the spontaneous creation of nanostructures with unique properties.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Hydrogel-based 3D fabrication of multiple replicas with varying sizes and materials from a single template via iterative shrinking

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM00835A, Paper
Eunseok Heo, Hye Been Koo, Jun Chang Yang, In Cho, Hyun-Hee Lee, Yong-Jin Yoon, Steve Park, Jae-Byum Chang
3D printing technologies have been widely used for the rapid prototyping of 3D structures, but their application in a broader context has been hampered by their low printing throughput. For...
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Co-assembly of Cellulose Nanocrystals and Gold Nanorods: Insights from Molecular Dynamics Modelling

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM00871E, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Jiaxin Hou, William W Sampson, Ahu Gumrah Dumanli
A coarse-grained molecular dynamics model is developed to explore the co-assembly of cellulose nanocrystals (CNCs) and gold nanorods (AuNRs) under sedimentation conditions with varying vol- umetric concentration and particle-size ratios....
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Dynamics of switching processes: general results and applications to intermittent active motion

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM01054J, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Ion Santra, Deepak Gupta, Kristian S Olsen
Systems switching between different dynamical phases is an ubiquitous phenomenon. The general understanding of such a process is limited. To this end, we present a general expression that captures fluctuations...
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Dynamics of polymers in coarse-grained nematic solvents

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM00968A, Paper
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Zahra Valei, Karolina Wamsler, Alex J Parker, Therese A Obara, Alex Klotz, Tyler Nathan Shendruk
Polymers are a primary building block in many biomaterials, often interacting with anisotropic backgrounds. While previous studies have considered polymer dynamics within nematic solvents, rarely are the the effects of...
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Mechanical properties soft hydrogels: assessment by scanning ion-conductance microscopy and atomic force microscopy

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM00966E, Paper
Tatiana Tikhonova, Yuri M. Efremov, Vasilii Kolmogorov, Aleksei Iakovlev, Nikolay Sysoev, Peter S. Timashev, Victor Fadeev, Alexander Tivtikyan, Sergey Salikhov, Petr Gorelkin, Yuri Korchev, Alexandr Erofeev, Evgeny Shirshin
The growing interest in biomimetic hydrogels is due to their successful applications in tissue engineering, 3D cell culturing and drug delivery. Major characteristics of hydrogels include swelling, porosity, degradation rate,...
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Ring-shaped nanoparticle assembly and cross-linking on lipid vesicle scaffolds

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM01010H, Communication
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Gizem Karabiyik, Aldo Jesorka, Irep Gözen
We show the assembly and cross-linking of carboxylate-modified polystyrene nanoparticles into flexible circular, ring-shaped structures with micrometer sized diameters around the base of surface-adhered giant lipid vesicles.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Supramolecular chiroptical sensing of chiral species based on circularly polarized luminescence

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM00960F, Review Article
Panyang Chen, Huahua Fan, Sifan Du, Xin Wen, Li Zhang, Minghua Liu
Chiral analytes can bind to an achiral fluorescent system to generate circularly polarized luminescence (CPL). Subsequently, the CPL signal can be employed to determine the absolute configuration of the chiral substrate.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Reversible pH-responsive supramolecular aggregates from viologen based amphiphiles – A molecular design perspective

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM00695J, Paper
Redhills L. Narendran, Archita Patnaik
pH responsive self-assembled supramolecular systems in water hold tremendous promise spanning across the various realms of science and technology. Herein, we report the design and synthesis of benzyl viologen (BV)...
The content of this RSS Feed (c) The Royal Society of Chemistry




se

A multi-scale framework for predicting α-cyclodextrin assembly on polyethylene glycol axles

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM01048E, Paper
Open Access
Cameron D. Smith, Chenfeng Ke, Wenlin Zhang
We predict the assembly and time-dependent distribution of cyclodextrin along PEG axles by combining atomistic molecular dynamics with an analytical treatment of bulk diffusion. Our kinetic Monte Carlo can aid in the design of polypseudorotaxanes.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Biomimetic mineralization of positively charged silica nanoparticles templated by thermoresponsive protein micelles: applications to electrostatic assembly of hierarchical and composite superstructures

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM00907J, Paper
Nada Y. Naser, William C. Wixson, Helen Larson, Brandi M. Cossairt, Lilo D. Pozzo, François Baneyx
Exploiting the ability of a solid-binding elastin-like peptide to micellize, we mineralize monodisperse silica nanoparticles whose positive surface charge enables one-step electrostatic assembly of various mono- and bi-material superstructures.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Pairing-specific microstructure in depletion gels of bidisperse colloids

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM00811A, Paper
Open Access
Rony A. Waheibi, Lilian C. Hsiao
We report the ensemble-averaged and pairing-specific network microstructure formed by short-range depletion attractions in bidisperse hard sphere-like colloidal systems.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Individual Closed-Loop Control of Micromotors by Selective Light Actuation

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM00810C, Communication
Open Access
David Rivas, Max Sokolich, Sambeeta Das
Control of individual micromotors within a group would allow for improved efficiency, greater ability to accomplish complex tasks, higher throughput, and increased adaptability. However, independent control of micromotors remains a...
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Coarsening dynamics of aster defects in a model polar active matter

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM00788C, Paper
Soumyadeep Mondal, Pankaj Popli, Sumantra Sarkar
We numerically study the dynamics of topological defects in 2D polar active matter coupled to a conserved density field, which shows anomalous kinetics and defect distribution. The initial many- defect...
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Scale-dependent sharpening of interfacial fluctuations in shape-based models of dense cellular sheets

Soft Matter, 2024, Accepted Manuscript
DOI: 10.1039/D4SM00804A, Paper
Haicen Yue, Charles Packard, Daniel Sussman
The properties of tissue interfaces – between separate populations of cells, or between a group of cells and its environment – has attracted intense theoretical, computational, and experimental study. Recent...
The content of this RSS Feed (c) The Royal Society of Chemistry




se

Self-consistent electrostatic formalism of bulk electrolytes based on the asymmetric treatment of the short- and long-range ion interactions

Soft Matter, 2024, Advance Article
DOI: 10.1039/D4SM01174K, Paper
Sahin Buyukdagli
Internal energy of monovalent electrolytes (left) and dimensionless screening parameter of multivalent electrolytes (right).
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




se

These Pix Will Cheer You Up!!!

Check out the shortlisted photographs in this year's Comedy Pet Photo Awards.




se

Making a Better Custom Select Element

Julie Grundy kicks off this, our fifteenth year, by diving headlong into the snowy issue of customising form inputs. Nothing makes a more special gift at Christmas that something you’ve designed and customised yourself. But can it be done while staying accessible to every user?


In my work as an accessibility consultant, there are some frequent problems I find on people’s websites. One that’s come up a lot recently is that people are making custom select inputs for their forms. I can tell that people are trying to make them accessible, because they’ve added ARIA attributes or visually-hidden instructions for screen reader users. Sometimes they use a plugin which claims to be accessible. And this is great, I love that folks want to do the right thing! But so far I’ve never come across a custom select input which actually meets all of the WCAG AA criteria.

Often I recommend to people that they use the native HTML select element instead. Yes, they’re super ugly, but as Scott Jehl shows us in his article Styling a Select Like It’s 2019 they are a lot easier to style than they used to be. They come with a lot of accessibility for free – they’re recognised and announced clearly by all screen reader software, they work reliably and predictably with keyboards and touch, and they look good in high contrast themes.

But sometimes, I can’t recommend the select input as a replacement. We want a way for someone to choose an item from a list of options, but it’s more complicated than just that. We want autocomplete options. We want to put images in there, not just text. The optgroup element is ugly, hard to style, and not announced by screen readers. The focus styles are low contrast. I had high hopes for the datalist element, but although it works well with screen readers, it’s no good for people with low vision who zoom or use high contrast themes.

Figure 1: a datalist zoomed in by 300%

Select inputs are limited in a lot of ways. They’re frustrating to work with when you have something which looks almost like what you want, but is too restricted to be useful. We know we can do better, so we make our own.

Let’s work out how to do that while keeping all the accessibility features of the original.

Semantic HTML

We’ll start with a solid, semantic HTML base. A select input is essentially a text input which restricts the possible answers, so let’s make a standard input.

<label for="custom-select">User Type</label>
<input type="text" id="custom-select">

Then we need to show everyone who can see that there are options available, so let’s add an image with an arrow, like the native element.

<label for="custom-select">User Type</label>
<input type="text" id="custom-select">
<img src="arrow-down.svg" alt="">

For this input, we’re going to use ARIA attributes to represent the information in the icon, so we’ll give it an empty alt attribute so screen readers don’t announce its filename.

Finally, we want a list of options. An unordered list element is a sensible choice here. It also lets screen reader software understand that these bits of text are related to each other as part of a group.

<ul class="custom-select-options">
  <li>User</li>
  <li>Author</li>
  <li>Editor</li>
  <li>Manager</li>
  <li>Administrator</li>
</ul>

You can dynamically add or remove options from this list whenever you need to. And, unlike our <option> element inside a <select>, we can add whatever we like inside the list item. So if you need images to distinguish between lots of very similar-named objects, or to add supplementary details, you can go right ahead. I’m going to add some extra text to mine, to help explain the differences between the choices.

This is a good base to begin with. But it looks nothing like a select input! We want to make sure our sighted users get something they’re familiar with and know how to use already.

Styling with CSS

I’ll add some basic styles similar to what’s in Scott Jehl’s article above.

We also need to make sure that people who customise their colours in high contrast modes can still tell what they’re looking at. After checking it in the default Windows high contrast theme, I’ve decided to add a left-hand border to the focus and hover styles, to make sure it’s clear which item is about to be chosen.

This would be a good time to add any dark-mode styles if that’s your jam. People who get migraines from bright screens will thank you!

JavaScript for behaviour

Of course, our custom select doesn’t actually do anything yet. We have a few tasks for it: to toggle the options list open and closed when we click the input, to filter the options when people type in the input, and for selecting an option to add it to the input and close the list. I’m going to tackle toggling first because it’s the easiest.

Toggling

Sometimes folks use opacity or height to hide content on screen, but that’s like using Harry Potter’s invisibility cloak. No-one can see what’s under there, but Harry doesn’t cease to exist and you can still poke him with a wand. In our case, screen reader and keyboard users can still reach an invisible list.

Instead of making the content see-through or smaller, I’m going to use display: none to hide the list. display: none removes the content from the accessibility tree, so it can’t be accessed by any user, not just people who can see. I always have a pair of utility classes for hiding things, as follows:

.hidden-all {
  display: none;
}

.hidden-visually {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    border: 0;
} 

So now I can just toggle the CSS class .hidden-all on my list whenever I like.

Browsing the options

Opening up our list works well for our mouse and touch-screen users. Our styles give a nice big tap target for touch, and mouse users can click wherever they like.

We need to make sure our keyboard users are taken care of though. Some of our sighted users will be relying on the keyboard if they have mobility or dexterity issues. Usually our screen reader users are in Browse mode, which lets them click the arrow keys to navigate through content. However, custom selects are usually inside form elements. which pushes screen reader software to Forms Mode. In Forms mode, the screen reader software can only reach focusable items when the user clicks the Tab key, unless we provide an alternative. Our list items are not focusable by default, so let’s work on that alternative.

To do this, I’m adding a tabindex of -1 to each list item. This way I can send focus to them with JavaScript, but they won’t be part of the normal keyboard focus path of the page.

csOptions.forEach(function(option) {
    option.setAttribute('tabindex, '-1')
}) 

Now I can move the focus using the Up and Down arrow keys, as well as with a mouse or tapping the screen. The activeElement property of the document is a way of finding where the keyboard focus is at the moment. I can use that to loop through the elements in the list and move the focus point forward or back, depending on which key is pressed.

function doKeyAction(whichKey) {
  const focusPoint = document.activeElement
  switch(whichKey) {
    case: 'ArrowDown':
      toggleList('Open')
      moveFocus(focusPoint, 'forward')
      break
    case: 'ArrowUp':
      toggleList('Open')
      moveFocus(focusPoint, 'back')
      break
  }
}

Selecting

The Enter key is traditional for activating an element, and we want to match the original select input.

We add another case to the keypress detector…

case 'Enter':
  makeChoice(focusPoint)
  toggleList('Shut')
  setState('closed')
  break 

… then make a function which grabs the currently focused item and puts it in our text input. Then we can close the list and move focus up to the input as well.

function makeChoice(whichOption) {
    const optionText = whichOption.documentQuerySelector('strong')
    csInput.value = optionText
}

Filtering

Standard select inputs have keyboard shortcuts – typing a letter will send focus to the first item in the option which begins with that letter. If you type the letter again, focus will move to the next option beginning with that letter.

This is useful, but there’s no clue to tell users how many options might be in this category, so they have to experiment to find out. We can make an improvement for our users by filtering to just the set of options which matches that letter or sequence of letters. Then sighted users can see exactly how many options they’ve got, and continue filtering by typing more if they like. (Our screen reader users can’t see the remaining options while they’re typing, but don’t worry – we’ll have a solution for them in the next section).

I’m going to use the .filter method to make a new array which only has the items which match the text value of the input. There are different ways you could do this part – my goal was to avoid having to use regex, but you should choose whatever method works best for your content.

function doFilter() {
  const terms = csInput.value
  const aFilteredOptions = aOptions.filter(option => {
    if (option.innerText.toUpperCase().startsWith(terms.toUpperCase())) {
    return true
    }
  })
  // hide all options
  csOptions.forEach(option => option.style.display = "none")
  // re-show the options which match our terms
  aFilteredOptions.forEach(function(option) {
    option.style.display = ""
  })
} 

Nice! This is now looking and behaving really well. We’ve got one more problem though – for a screen reader user, this is a jumble of information. What’s being reported to the browser’s accessibility API is that there’s an input followed by some clickable text. Are they related? Who knows! What happens if we start typing, or click one of the clicky text things? It’s a mystery when you can’t see what’s happening. But we can fix that.

ARIA

ARIA attributes don’t provide much in the way of additional features. Adding an aria-expanded='true' attribute doesn’t actually make anything expand. What ARIA does is provide information about what’s happening to the accessibility API, which can then pass it on to any assistive technology which asks for it.

The WCAG requirements tell us that when we’re making custom elements, we need to make sure that as a whole, the widget tells us its name, its role, and its current value. Both Chrome and Firefox reveal the accessibility tree in their dev tools, so you can check how any of your widgets will be reported.

We already have a name for our input – it comes from the label we associated to the text input right at the start. We don’t need to name every other part of the field, as that makes it seem like more than one input is present. We also don’t need to add a value, because when we select an item from the list, it’s added to the text input and therefore is exposed to the API.

Figure 2: How Firefox reports our custom select to assistive technology.

But our screen readers are going to announce this custom select widget as a text entry field, with some images and a list nearby.

The ARIA Authoring Practices site has a pattern for comboboxes with listboxes attached. It tells you all the ARIA you need to make screen reader software give a useful description of our custom widget.

I’m going to add all this ARIA via JavaScript, instead of putting it in the HTML. If my JavaScript doesn’t work for any reason, the input can still be a plain text field, and we don’t want screen readers to announce it as anything fancier than that.

csSelector.setAttribute('role', 'combobox') 
csSelector.setAttribute('aria-haspopup', 'listbox')
csSelector.setAttribute('aria-owns', '#list') 
csInput.setAttribute('aria-autocomplete', 'both')
csInput.setAttribute('aria-controls', 'list')

The next thing to do is let blind users know if the list is opened or closed. For that task I’m going to add an aria-expanded attribute to the group, and update it from false to true whenever the list changes state in our toggling function.

The final touch is to add a secret status message to the widget. We can use it to update the number of options available after we’ve filtered them by typing into the input. When there are a lot of options to choose from, this helps people who can’t see the list reducing know if they’re on the right track or not.

To do that we first have to give the status message a home in our HTML.

<div id='custom-select-status' class='hidden-visually' aria-live='polite'></div>

I’m using our visually-hidden style so that only screen readers will find it. I’m using aria-live so that it will be announced as often as it updates, not just when a screen reader user navigates past it. Live regions need to be present at page load, but we won’t have anything to say about the custom select then so we can leave it empty for now.

Next we add one line to our filtering function, to find the length of our current list.

updateStatus(aFilteredOptions.length)

Then we send that to a function which will update our live region.

function updateStatus(howMany) {
    console.log('updating status')
    csStatus.textContent = howMany + " options available."
}

Conclusion

Let’s review what we’ve done to make an awesome custom select input:

  • Used semantic HTML so that it’s easily interpreted by assistive technology while expanding the types of content we can include in it
  • Added CSS styles which are robust enough to survive different visual environments while also fitting into our branding needs
  • Used JavaScript to provide the basic functionality that the native element has
  • Added more JavaScript to get useful functionality that the native element lacks
  • Carefully added ARIA attributes to make sure that the purpose and results of using the element are available to assistive technology and are updated as the user interacts with it.

You can check out my custom select pattern on GitHub – I’ll be making additions as I test it on more assistive technology, and I welcome suggestions for improvements.

The ARIA pattern linked above has a variety of examples and customisations. I hope stepping through this example shows you why each of the requirements exists, and how you can make them fit your own needs.

I think the volume of custom select inputs out there shows the ways in which the native select input is insufficient for modern websites. You’ll be pleased to know that Greg Whitworth and Simon Pieters are working on improving several input types! You can let them know what features you’d like selects to have. But until that work pays off, let’s make our custom selects as accessible and robust as they can possibly be.


About the author

Julie Grundy is an accessibility expert who works for Intopia, a digital accessibility consultancy. She has over 15 years experience as a front-end web developer in the health and education sectors. She believes in the democratic web and aims to unlock digital worlds for as many people as possible. In her spare time, she knits very slowly and chases very quickly after her two whippets.

More articles by Julie




se

Iconography of Security

Molly Wilson and Eileen Wagner battle the age old Christmas issues of right and wrong, good and evil, and how the messages we send through iconography design can impact the decisions users make around important issues of security. Are you icons wise men, or are they actually King Herod?


Congratulations, you’re locked out! The paradox of security visuals

Designers of technology are fortunate to have an established visual language at our fingertips. We try to use colors and symbols in a way that is consistent with people’s existing expectations. When a non-designer asks a designer to “make it intuitive,” what they’re really asking is, “please use elements people already know, even if the concept is new.”

Lots of options for security icons

We’re starting to see more consistency in the symbols that tech uses for privacy and security features, many of them built into robust, standardized icon sets and UI kits. To name a few: we collaborated with Adobe in 2018 to create the Vault UI Kit, which includes UI elements for security, like touch ID login and sending a secure copy of a file. Adobe has also released a UI kit for cookie banners.

Activity log from the Vault Secure UI Kit, by Adobe and Simply Secure.
Cookie banner, from the Cookie Banner UI Kit, by Adobe.

Even UI kits that aren’t specialized in security and privacy include icons that can be used to communicate security concepts, like InVision’s Smart Home UI Kit. And, of course, nearly every icon set has security-related symbols, from Material Design to Iconic.

Key, lock, unlock, shield, and warning icons from Iconic.
A selection of security-related icons from Material Design.
Security shields from a selection of Chinese apps, 2014. From a longer essay by Dan Grover.

Many of these icons allude to physical analogies for the states and actions we’re trying to communicate. Locks and keys; shields for protection; warning signs and stop signs; happy faces and sad faces. Using these analogies helps build a bridge from the familiar, concrete world of door locks and keyrings to the unfamiliar, abstract realm of public- and private-key encryption.

flickr/Jim Pennucci
GPG Keychain, an open-source application for managing encryption keys. Image: tutsplus.com

When concepts don’t match up

Many of the concepts we’re working with are pairs of opposites. Locked or unlocked. Private or public. Trusted or untrusted. Blocked or allowed. Encouraged or discouraged. Good or evil. When those concept pairs appear simultaneously, however, we quickly run into UX problems.

Take the following example. Security is good, right? When something is locked, that means you’re being responsible and careful, and nobody else can access it. It’s protected. That’s cause for celebration. Being locked and protected is a good state.

“Congratulations, you’re locked out!”

Whoops.

If the user didn’t mean to lock something, or if the locked state is going to cause them any inconvenience, then extra security is definitely not good news.

Another case in point: Trust is good, right? Something trusted is welcome in people’s lives. It’s allowed to enter, not blocked, and it’s there because people wanted it there. So trusting and allowing something is good.

“Good job, you’ve downloaded malware!”

Nope. Doesn’t work at all. What if we try the opposite colors and iconography?

That’s even worse. Even though we, the designers, were trying both times to keep the user from downloading malware, the user’s actual behavior makes our design completely nonsensical.

Researchers from Google and UC Berkeley identified this problem in a 2016 USENIX paper analyzing connection security indicators. They pointed out that, when somebody clicks through a warning to an “insecure” website, the browser will show a “neutral or positive indicator” in the URL bar – leading them to think that the website is now safe. Unlike our example above, this may not look like nonsense from the user point of view, but from a security standpoint, suddenly showing “safe/good” without any actual change in safety is a pretty dangerous move.

The deeper issue

Now, one could file these phenomena under “mismatching iconography,” but we think there is a deeper issue here that concerns security UI in particular. Security interface design pretty much always has at least a whiff of “right vs. wrong.” How did this moralizing creep into an ostensibly technical realm?

Well, we usually have a pretty good idea what we’d like people to do with regards to security. Generally speaking, we’d like them to be more cautious than they are (at least, so long as we’re not trying to sneak around behind their backs with confusing consent forms and extracurricular data use). Our well-intentioned educational enthusiasm leads us to use little design nudges that foster better security practices, and that makes us reach into the realm of social and psychological signals. But these nudges can easily backfire and turn into total nonsense.

Another example: NoScript

“No UX designer would be dense enough to make these mistakes,” you might be thinking.

Well, we recently did a redesign of the open-source content-blocking browser extension NoScript, and we can tell you from experience: finding the right visual language for pairs of opposites was a struggle.

NoScript is a browser extension that helps you block potential malware from the websites you’re visiting. It needs to communicate a lot of states and actions to users. A single script can be blocked or allowed. A source of scripts can be trusted or untrusted. NoScript is a tool for the truly paranoid, so in general, wants to encourage blocking and not trusting. But:

“An icon with a crossed-out item is usually BAD, and a sign without anything is usually GOOD. But of course, here blocking something is actually GOOD, while blocking nothing is actually BAD. So whichever indicators NoScript chooses, they should either aim to indicate system state [allow/block] or recommendation [good/bad], but not both. And in any case, NoScript should probably stay away from standard colors and icons.”

So we ended up using hardly any of the many common security icons available. No shields, no alert! signs, no locked locks, no unlocked locks. And we completely avoided the red/green palette to keep from taking on unintended meaning.

Navigating the paradox

Security recommendations appear in most digital services are built nowadays. As we move into 2020, we expect to see a lot more conscious choice around colors, icons, and words related to security. For a start, Firefox already made a step in the right direction by streamlining indicators for SSL encryption as well as content blocking. (Spoilers: they avoided adding multiple dimensions of indicators, too!)

The most important thing to keep in mind, as you’re choosing language around security and privacy features, is: don’t conflate social and technical concepts. Trusting your partner is good. Trusting a website? Well, could be good, could be bad. Locking your bike? Good idea. Locking a file? That depends.

Think about the technical facts you’re trying to communicate. Then, and only then, consider if there’s also a behavioral nudge you want to send, and if you are, try to poke holes in your reasoning. Is there ever a case where your nudge could be dangerous? Colors, icons, and words give you a lot of control over how exactly people experience security and privacy features. Using them in a clear and consistent way will help people understand their choices and make more conscious decisions around security.


About the author

Molly Wilson is a designer by training and a teacher at heart: her passion is leveraging human-centered design to help make technology clear and understandable. She has been designing and leading programs in design thinking and innovation processes since 2010, first at the Stanford d.school in Palo Alto, CA and later at the Hasso-Plattner-Institut School of Design Thinking in Potsdam, Germany. Her work as an interaction designer has focused on complex products in finance, health, and education. Outside of work, talk to her about cross-cultural communication, feminism, DIY projects, and visual note-taking.

Molly holds a master’s degree in Learning, Design, and Technology from Stanford University, and a bachelor’s degree magna cum laude in History of Science from Harvard University. See more about her work and projects at http://molly.is.

Eileen Wagner is Simply Secure’s in-house logician. She advises teams and organizations on UX design, supports research and user testing, and produces open resources for the community. Her focus is on information architecture, content strategy, and interaction design. Sometimes she puts on her admin hat and makes sure her team has the required infrastructure to excel.

She previously campaigned for open data and civic tech at the Open Knowledge Foundation Germany. There she helped establish the first public funding program for open source projects in Germany, the Prototype Fund. Her background is in analytic philosophy (BA Cambridge) and mathematical logic (MSc Amsterdam), and she won’t stop talking about barbershop music.

More articles by Molly Wilson & Eileen




se

Design Tokens and Component Based Design

Stuart Robson rolls up his sleeves and begins to piece together the jigsaw puzzle that is design tokens and component based design. Starting with the corners, and working around the edges, Stu helps us to piece together a full picture of a modern design system.


If you stare at your twitter feed long enough, it can look like everyone is talking about Design Systems. In some cases you could be persuaded to think how shallow the term can go.

“Isn’t this what we called Style Guides?”, “Here’s my React Design System”, “I’ve just updated the Design System in Sketch”

To me, they are some and all of these things. Over the last 4 years of consulting with two clients on their Design System, my own view has changed a little.

If you dig a little deeper into Design Systems twitter you will probably see the term “Design Tokens” pop up at least once a day somewhere. Design Tokens came out of work that was being done at Salesforce with Jina and others who pioneered the creation of Design Tokens as we know them today – creating the first command line tool in Theo that had started the adoption of Design Tokens to the wider Design Systems Community.

A cool term but, what are they?

If you look at your client work, your companies site, the project you’re working on you should notice some parts of the page have a degree of consistency: the background colour of your form buttons is the same colour as your link text, or your text has the same margin, or your card elements have the same spacing as your media object.

These are design decisions, and they should be littered across the overall design of your project. These decisions might start off in a Sketch file and make their way into code from detailed investigation of a Sketch file, or you may find that the design evolves from your design application once it gets into code.

These design decisions can change, and to keep them synchronised across design and development in applications, as well as a larger documentation site in your Design System, is going to take some effort.

This is where Design Tokens come in, and I find the best way to succinctly reiterate what they are is via the two following quotes…

“Design Tokens are an abstraction for everything impacting the visual design of an app/platform.”
– Sönke Rohde

…and

“We use them in place of hard-coded values in order to maintain a scale-able and consistent visual system.”
– Jina

There are several global design decisions that we can abstract to create a top level design token – Sizing, Font Families, Font Styles, Font Weights, Font Sizes, Line Heights, Border Styles, Border Colours, Border Radius, Horizontal Rule Colours, Background Colours, Gradients, Background Gradients, Box Shadows, Filters, Text Colours, Text Shadow, Time, Media Queries, Z Index, Icons – these can all be abstracted as required.

So, spicy Sass variables?

We can look at Design Tokens as an abstraction of CSS, sort of like Sass variables, but spicier. Looking at them like this we can see that they are (in either .yaml or .json) a group of related key value pairs with more information that can be added as needed.

The great thing with abstracting design decisions outside of your CSS pre-processor is that you’re not tying those decisions to one platform or codebase.

As a crude example, we can see here that we are defining a name and a value that could then become our color, background-color, or border-color, and more.

# Colours
# -------
- name: color-red
  value: #FF0000
- name: color-green
  value: #00FF00
- name: color-blue
  value: #0000FF
- name: color-white
  value: #FFFFFF
- name: color-black
  value: #000000

These can then generate our Sass variables (as an example) for our projects.

$color-red: #FF0000 !default;
$color-green: #00FF00 !default;
$color-blue: #0000FF !default;
$color-white: #FFFFFF !default;
$color-black: #000000 !default;

Why are they so good

Ok, so we now know what Design Tokens are, but why do we need them? What makes them better than our existing solutions (css pre-processors) for defining these design decisions?

I think there are 5 really good reasons why we all should start abstracting these design decisions away from the CSS that they may live in. Some of these reasons are similar to reasons some developers use a pre-processor like Sass, but with added bonuses.

Consistency

Much like using a CSS pre-processor or using CSS custom properties, being able to define a background colour, breakpoint, or font-size in more than one place using the same key ensures that we are using the Sass values across the entire product suite we are developing for.

Using our Design Tokens in their generated formats, we can be sure to not end up with 261 shades of blue.

Maintainability

By using a pre-processor like Sass, or using native CSS custom properties, we can already have maintainable code in our projects. Design Tokens also do this at the abstracted level as well.

Scalability

“Design Tokens enable us to scale our Design across all the permutations.”
– Jina

At this point, we’re only talking about abstracting the design decisions for use in CSS. Having Design Tokens allows design to scale for multiple brands or multiple projects as needed.

The main benefit of Design Tokens in regards to scalability is the option that it gives us to offer the Design Tokens for other platforms and frameworks as needed. With some of the tools available, we can even have these Tokens shared between applications used by designers and developers.

Your marketing site and your iOS application can soon share the same design decisions codified, and you can move towards creating an Android app or web application as required.

Documentation

If we abstract the design decisions from one platform specific programming language it would be no good if it wasn’t made to be easily accessible.

The tools and applications available that are mentioned later in this article can now create their own documentation, or allow you to create your own. This documentation is either hosted within a web-based application or can be self-hosted with the rest of your Design Systems documentation.

Most of the command line tools go further and allow you do add more details that you wish to convey in the documentation, making it as unique as it is required for your project.

Empowerment

When you abstract your design decisions to Design Tokens, you can help empower other people on the project. With the tools available today, and the tools that are just around the corner, we can have these design decisions determined by anyone on the team.

No-one necessarily needs to understand how to set up the codebase to update the colour slightly. Some of the tools I mention later on allow you to update the Design Tokens in the browser.

Design Systems are already “bridging the gap” between design and development. With Design Tokens and the tooling available, we can create better team relationships by closing that gap instead.

Some of the benefits of creating and using Design Tokens are the same as using a pre-processor when it comes to authoring CSS. I feel the added bonuses of being able to empower other team members and document how you use them, as well as the fundamental reasoning in that they can be platform agnostic, are all great “selling points” to why you need to start using Design Tokens today.

Tools

There are several tools available to help you and your team to create the required files from your abstracted Design Tokens:

Command Line Tools

There are several tools available on the command line that can be used as part of, or separate to, your development process.

These tools allow you to define the Design Tokens in a .json or .yaml file format which can then be compiled into the formats you require.

Some have built in functions to turn the inputted values to something different when compiled – for example, turning hexadecimal code that is a Design Token into a RGB value in your .css file. These command line tools, written in JavaScript, allow you to create your own ways in which you want things transformed.

My current client has certain design decisions for typography in long form content (font size, weight, line height and margins) which need to be together to make sense. Being able to write JavaScript to compile these design decisions into an independent Sass map for each element allows us to develop with assurance that the long form content has the correct styling.

WYSIWYG Tools

WYSIWYG (What You See Is What You Get Tools) have been around for almost as long as we have been able to make websites. I can just about remember using Dreamweaver 2, before I knew what a <table> was.

When browsers started to employ vendor prefixes to new CSS for their browsers, a flurry of online WYSIWYG tools came with it built in. They’re still there, but the industry has moved on.

Design Tokens also have a few WYSIWYG tools available. From simpler online tools that allow you to generate the correct Sass variables needed for your design decisions to tools that store your decisions online and allow you to export them as npm packages.

These types of tools for creating Design Tokens can help empower the team as a whole, with some automatically creating documentation which can easily be shared with a url.

Retrofitting Tools

If you are starting from scratch on a new re-design or on a new project that requires a Design System and Tokens, the many of the tools mentioned above will help you along your way. But what if you’re in the middle of a project, or you have to maintain something and want to start to create the parts required for a Design System?

Luckily there are several tools and techniques to help you make a start.

One new tool that might be useful is Superposition. Currently in private beta with the public release set for Q1 of 2020 Superposition helps you “Extract design tokens from websites and use them in code and in your design tool.”

Entering your domain gives you a nice visual documentation of your sites styles as Design Tokens. These can then be exported as Sass Variables, CSS Custom Properties, JavaScript with the team working on exports to iOS and Android.

If you have an existing site, this could be a good first step before moving to one of the other tools mentioned above.

You could also make use of CSSStats or Project Wallace’s Analysis page that I mentioned earlier. This would give you an indication of what Design Tokens you would need to implement.

Component Based Design

So, we’ve created our Design Tokens by abstracting the design decisions of brand colours, typography, spacing and more. Is that as far as we can go?

Levels of Design Decisions

Once we have created our first set of Design Tokens for our project, we can take it that little bit deeper. With command line tools and some of the applications available, you can link these more global decisions to a more deeper level.

For example, you can take your chosen colours and make further design decisions on the themes of your project, such as what the primary, secondary, or tertiary colours are or what your general component and layout spacing will be.

With this, we can go one step further. We could also define some component specific design decisions that can then be compiled for the developer to use. Invest in time to check over the designs with a fine toothcomb and make sure you are using the correct Sass variable or CSS custom property for that component.

If you are going more than one or two levels of design decision making, you can compile each set of these Design Tokens to your Sass variables which can then be used as required. So you can provide: global, theme, component level Sass variables which can be used in the project. Or you could choose to only compile what you need for the components you are creating.

Variables, Maps, Custom Properties

Some of the tools available for creating and maintaining your Design Tokens allow you to compile to certain programming languages.

With my current client work, I am making use of Sass variables, Sass maps, and CSS custom properties. The Design Tokens are compiled into one or more of these options depending on how they will be used.

Colours are compiled as global Sass variables, inside of a couple of Sass maps and CSS custom properties. Our macro layout breakpoints are defined as a single Sass map.

If we know we are creating a component that has the ability to be themed, we can make use of CSS custom properties to reduce the amount of CSS we need to override, and also allow us to inline things that can be changed via a CMS as required. Which leaves us using Sass variables for parts of a component that won’t change. We are using Sass maps differently still. As mentioned, we generate a Sass map containing the design decisions for each element of text, and we can use long form text. This Sass map is then compiled into separate CSS declarations as needed using Sass mixins.

I find the beauty of being able to make use of the global, themed, and component level design decisions by compiling them into various formats (that essentially become CSS) and that gives us more power in authoring components.

Creating Consistent Utility Classes

As you have created your more global generic design decisions, you can create your own small set of utility classes.

Using a pre-processor like Sass you can define a set of mixins and functions that can take your Design Tokens that have been compiled down into variables and maps and generate separate classes for each design decision.

By making tokens available to all digital teams, we can enable them to create custom experiences that are aligned to current visual standards when a component does not (or will not) exist in the design system. Maya King

In creating utility classes with Design Tokens (using something like Sass) you have consistency with the overall Design System for times when you or a team need to create a one-off component for a project.

These exceptions tend to be something that won’t make it as part of the overall Design System, but it still needs that look and feel.

Having classes available that we can guarantee use the generic, global design decisions from the Design Tokens means these one-off components should be well on their way to have the overall look and feel of the project, and will get any updates with little to no additional overhead.

Wrapping Up

I think we are starting to see the potential of using Design Tokens as Design Systems become even more popular. I think that, from this overview, we can see how they can help us close the gap that still exists in places between the designers and developers on the team. They can help empower people who do not code to make changes that can be automatically updating live work.

I think you can start now. You may not have or need what you could term “a fully-fledged Design System” but this small step will help move towards one in the future and give you instant benefits of consistency and maintainability now. If you want more Design Tokens, as well as the links that are dotted around this article I also maintain a GitHub repo of Awesome Design Tokens which I try to keep updated with links to tools, articles, examples, videos, and anything else that’s related to Design Tokens.


About the author

Stuart Robson is a freelance front-end developer and design systems advocate who curates the design systems newsletter - news.design.systems

More articles by Stuart