ter Plant-Fire Interactions: Applying Ecophysiology to Wildfire Management / Victor Resco de Dios By library.mit.edu Published On :: Sun, 12 Apr 2020 09:09:06 EDT Online Resource Full Article
ter Collaborative research in fisheries: co-creating knowledge for fisheries governance in Europe / Petter Holm, Maria Hadjimichael, Sebastian Linke, Steven Mackinson, editors By library.mit.edu Published On :: Sun, 12 Apr 2020 09:09:06 EDT Online Resource Full Article
ter Latin American dendroecology: combining tree-ring sciences and ecology in a megadiverse territory / Marín Pompa-García, J. Julio Camarero, editors By library.mit.edu Published On :: Sun, 19 Apr 2020 09:34:46 EDT Online Resource Full Article
ter Wine and place: a terroir reader / Tim Patterson and John Buechsenstein By library.mit.edu Published On :: Sun, 26 Apr 2020 08:31:05 EDT Hayden Library - SB387.7.P385 2018 Full Article
ter Landscape patterns in a range of spatio-temporal scales Alexander V. Khoroshev, Kirill N. Dyakonov, editors By library.mit.edu Published On :: Sun, 3 May 2020 09:41:51 EDT Online Resource Full Article
ter Neotropical diversification: patterns and processes / Valentí Rull, Ana Carolina Carnaval, editors By library.mit.edu Published On :: Sun, 3 May 2020 09:41:51 EDT Online Resource Full Article
ter Plastidules to humans: Leopoldo Maggi (1840-1905) and Ernst Haeckel's naturalist philosophy in the Kingdom of Italy: with an edition of Maggi's letters to Ernst Haeckel / Rainer Brömer ; Deutsche Gesellschaft für Geschichte und Theorie d By library.mit.edu Published On :: Sun, 3 May 2020 09:41:51 EDT Online Resource Full Article
ter Mouthwatering food pix to lift your Friday mood By www.rediff.com Published On :: Fri, 17 Apr 2020 12:02:06 +0530 Hemantkumar Shivsharan is making the most of the lockdown with these tempting home cooked meals. Full Article
ter Building WordPress Websites With Zurb Foundation or Bootstrap: Comparisons and Starter Themes By 1stwebdesigner.com Published On :: Fri, 27 Dec 2019 11:57:47 +0000 WordPress is super versatile. You know that. I know that. But sometimes this can be an overwhelming prospect. How on earth will you get your site up and running? What platform will you use? Zurb Foundation and Bootstrap are two … Full Article Web Design Bootstrap CSS development Foundation
ter Proving and interpreting the spontaneous formation of bulk nanobubbles in aqueous organic solvent solutions: effects of solvent type and content By feeds.rsc.org Published On :: Soft Matter, 2020, Advance ArticleDOI: 10.1039/D0SM00111B, Paper Open Access   This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.Ananda J. Jadhav, Mostafa BarigouWe show that the mixing of organic solvents with pure water leads to the spontaneous formation of bulk nanobubbles which exhibit long-term stability on the scale of months.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 Full Article
ter Viscoelastic interfaces comprising of cellulose nanocrystals and lauroyl ethyl arginate for enhanced foam stability By feeds.rsc.org Published On :: Soft Matter, 2020, 16,3981-3990DOI: 10.1039/C9SM02392E, PaperAgnieszka Czakaj, Aadithya Kannan, Agnieszka Wiśniewska, Gabriela Grześ, Marcel Krzan, Piotr Warszyński, Gerald G. FullerAt submillimolar concentrations of lauroyl ethyl arginate, cellulose nanocrystals aggregate and form elongated fibres. This interfacial assembly efficiently stabilises foams.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter A practical guide to active colloids: choosing synthetic model systems for soft matter physics research By feeds.rsc.org Published On :: Soft Matter, 2020, 16,3846-3868DOI: 10.1039/D0SM00222D, Review ArticleWei Wang, Xianglong Lv, Jeffrey L. Moran, Shifang Duan, Chao ZhouThis review article provides practical, experimentally relevant details on six common types of active colloids useful for soft matter research.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Surface buckling delamination patterns of film on soft spherical substrates By feeds.rsc.org Published On :: Soft Matter, 2020, 16,3952-3961DOI: 10.1039/D0SM00122H, PaperKanako Emori, Yusaku Saito, Akio Yonezu, Liangliang Zhu, Xiangbiao Liao, Xi ChenThe morphological transition of film buckling-delamination in an elastomeric bilayer spherical shell system was studied experimentally and numerically. It was changed by the film thickness, Young's modulus, and interfacial adhesion condition, etc.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Engineering interfacial entropic effects to generate giant viscosity changes in nanoparticle embedded polymer thin films By feeds.rsc.org Published On :: Soft Matter, 2020, 16,4065-4073DOI: 10.1039/D0SM00019A, PaperAparna Swain, Nafisa Begam, Sivasurender Chandran, M. S. Bobji, J. K. BasuWe demonstrate a new method to study the viscosity of PNC thin films, consisting of polymer grafted nanoparticles (PGNPs) embedded in un-entangled homopolymer melt films, using atomic force microscopy based force–distance spectroscopy.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Bi-continuous orthorhombic soft matter phase made of polycatenar molecules By feeds.rsc.org Published On :: Soft Matter, 2020, 16,3882-3885DOI: 10.1039/D0SM00331J, CommunicationJoanna Matraszek, Damian Pociecha, Nataša Vaupotič, Mirosław Salamończyk, Martin Vogrin, Ewa GoreckaA slight deformation of a double gyroid structure of a cubic Iād phase results in the formation of a phase with an orthorhombic Pcab symmetry. The phase seems to be an intermediate state towards a columnar phase made of helical pillars.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Outstanding Reviewers for Soft Matter in 2019 By feeds.rsc.org Published On :: Soft Matter, 2020, 16,3845-3845DOI: 10.1039/D0SM90069A, EditorialWe would like to take this opportunity to highlight the Outstanding Reviewers for Soft Matter in 2019, as selected by the editorial team for their significant contribution to the journal.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Liposomal adhesion via electrostatic interactions and osmotic deflation increase membrane tension and lipid diffusion coefficient By feeds.rsc.org Published On :: Soft Matter, 2020, Advance ArticleDOI: 10.1039/D0SM00416B, PaperAtsushi Oda, Chiho Watanabe, Natsumi Aoki, Miho YanagisawaLiposome–liposome adhesion by electrostatic interactions and osmotic contraction increase membrane tension and the lipid diffusion coefficient compared to isolated liposomes.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 Full Article
ter Classical and Non-Classical Melatonin Receptor Agonist-Directed Micellization of Bipyridinium-Based Supramolecular Amphiphiles in Water By feeds.rsc.org Published On :: Soft Matter, 2020, Accepted ManuscriptDOI: 10.1039/D0SM00424C, PaperZhimin Sun, Lihui Xi, Kai Zheng, Zhao Zhang, Kim Baldridge, Mark Anthony OlsonThe addition of molecular recognition units into structures of amphiphiles is a means by which soft matter capable of undergoing template-directed micellization can be obtained. These supramolecular amphiphiles can bind...The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Simultaneous determination of interfacial molarities of an alcohol, bromide ion, and water during an alcohol induced microstructural transition: The difference between medium and long chain alcohols. By feeds.rsc.org Published On :: Soft Matter, 2020, Accepted ManuscriptDOI: 10.1039/D0SM00665C, PaperKaixin Yao, Lijie Sun, Xiaoxuan Ding, Yuzhao Wang, Tianze Liu, Changyao Liu, Jiajing Tan, Li Zhao, Baocai Xu, Laurence S. RomstedThe transitions between surfactant aggregate structures are triggered by changes in chemical or physical stimulations, including addition of additives. Effects of added alcohols on aggregate morphologies correlate strongly with alcohol...The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Photo-tunable hydrogel mechanical heterogeneity informed by predictive transport kinetics model By feeds.rsc.org Published On :: Soft Matter, 2020, 16,4131-4141DOI: 10.1039/D0SM00052C, PaperCallie I. Higgins, Jason P. Killgore, Frank W. DelRio, Stephanie J. Bryant, Robert R. McLeodPhoto-tunable hydrogel mechanical heterogeneity using a single resin is presented here, informed by a predictive transport kinetics and swelling model.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Lipid-core/polymer-shell hybrid nanoparticles: synthesis and characterization by fluorescence labeling and electrophoresis By feeds.rsc.org Published On :: Soft Matter, 2020, 16,4173-4181DOI: 10.1039/D0SM00077A, PaperSophie Bou, Xinyue Wang, Nicolas Anton, Redouane Bouchaala, Andrey S. Klymchenko, Mayeul CollotNew hybrid nanoparticles have been obtained by simple nanoprecipitation using fluorescent labeling of both the oily core (BODIPY) and the polymeric shell (rhodamine) thus allowing the use of electrophoresis to assess their formation and stability.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Characterizing the fluid–matrix affinity in an organogel from the growth dynamics of oil stains on blotting paper By feeds.rsc.org Published On :: Soft Matter, 2020, 16,4200-4209DOI: 10.1039/C9SM01965K, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Qierui Zhang, Frieder Mugele, Piet M. Lugt, Dirk van den EndeFluid–matrix affinity in an organogel is characterized by capillarity-induced oil release using absorbing paper.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Propagation of active nematic–isotropic interfaces on substrates By feeds.rsc.org Published On :: Soft Matter, 2020, 16,4256-4266DOI: 10.1039/C9SM02306B, PaperRodrigo C. V. Coelho, Nuno A. M. Araújo, Margarida M. Telo da GamaMotivated by results for the propagation of active–passive interfaces of bacterial Serratia marcescens swarms, we used a hydrodynamic multiphase model to investigate the propagation of interfaces of active nematics on substrates.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Rapid characterization of neutral polymer brush with a conventional zetameter and a variable pinch of salt By feeds.rsc.org Published On :: Soft Matter, 2020, 16,4274-4282DOI: 10.1039/C9SM01850F, PaperMena Youssef, Alexandre Morin, Antoine Aubret, Stefano Sacanna, Jérémie PalacciWe take advantage of the nanoscopic nature of the Debye length and used it as a probe to characterize polymer brushes on colloidal particles.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Surface-topology-controlled mechanical characteristics of triply periodic carbon Schwarzite foams By feeds.rsc.org Published On :: Soft Matter, 2020, 16,4324-4338DOI: 10.1039/D0SM00136H, PaperHao Gong, Jinjie Liu, Ke Xu, Jianyang Wu, Yang LiCarbon Schwarzites exhibit unique mechanical characteristics that are dominated by their topologies, rather than the mass density.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Structural characterization of fibrous synthetic hydrogels using fluorescence microscopy By feeds.rsc.org Published On :: Soft Matter, 2020, 16,4210-4219DOI: 10.1039/C9SM01828J, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Johannes Vandaele, Boris Louis, Kaizheng Liu, Rafael Camacho, Paul H. J. Kouwer, Susana RochaThe structural features of the matrix surrounding the cells play a crucial role in regulating their behavior.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Vesicle adhesion in the electrostatic strong-coupling regime studied by time-resolved small-angle X-ray scattering By feeds.rsc.org Published On :: Soft Matter, 2020, 16,4142-4154DOI: 10.1039/D0SM00259C, Paper Open Access   This article is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported Licence.Karlo Komorowski, Jannis Schaeper, Michael Sztucki, Lewis Sharpnack, Gerrit Brehm, Sarah Köster, Tim SaldittWe have used time-resolved small-angle X-ray scattering (SAXS) to study the adhesion of lipid vesicles in the electrostatic strong-coupling regime induced by divalent ions.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Controlled release of entrapped nanoparticles from thermoresponsive hydrogels with tunable network characteristics By feeds.rsc.org Published On :: Soft Matter, 2020, Advance ArticleDOI: 10.1039/D0SM00207K, PaperYi Wang, Zhen Li, Jie Ouyang, George Em KarniadakisThermoresponsive hydrogels have been studied intensively for creating smart drug carriers and controlled drug 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 Full Article
ter Sustainable sorbitol-derived compounds for gelation of the full range of ethanol–water mixtures By feeds.rsc.org Published On :: Soft Matter, 2020, Advance ArticleDOI: 10.1039/D0SM00343C, PaperGlenieliz C. Dizon, George Atkinson, Stephen P. Argent, Lea T. Santu, David B. AmabilinoA combination of gelators prepared from sustainable sources combine in a synergic way to widen the scope for the compounds to immobilise liquids, as shown by imaging, diffraction and rheology measurements.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 Full Article
ter Simulations of Interpenetrating Networks Microgel Synthesis By feeds.rsc.org Published On :: Soft Matter, 2020, Accepted ManuscriptDOI: 10.1039/D0SM00287A, PaperVladimir Yurievich Rudyak, Elena Kozhunova, Alexander V. ChertovichIn this paper we implement the sequential template synthesis of the interpenetrating network (IPN) microgels in computer simulations and study the behavior of such particles. We explore the influence of...The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Wall entrapment of peritrichous bacteria: A mesoscale hydrodynamics simulation study By feeds.rsc.org Published On :: Soft Matter, 2020, Accepted ManuscriptDOI: 10.1039/D0SM00571A, PaperS. Mahdiyeh Mousavi, Gerhard Gompper, Roland G. WinklerMicroswimmers such as E. Coli bacteria accumulate and exhibit an intriguing dynamics near walls, governed by hydrodynamic and steric interactions. Insight into the underlying mechanisms and predominant interactions demand a...The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
ter Professional Practice for Interior Designers, 6th Edition By www.wiley.com Published On :: 2020-03-31T04:00:00Z The leading guide to the business practice of the interior design profession, updated to reflect the latest trendsFor nearly thirty years, Professional Practice for Interior Designers has been a must-have resource for aspiring designers and practicing professionals. This revised and updated Sixth Edition continues to offer authoritative guidance related to the business of the interior design professionfrom the basics to the latest topics and tools Read More... Full Article
ter 4 killer transportation projects to make your city smarter By newsroom.cisco.com Published On :: Thu, 23 Jan 2020 04:00:00 PST The worldâ€TMs smartest city reveals top tips to help the traffic flow. More RSS Feed: newsroom.cisco.com/rss-feeds ... Full Article Digitization Government Federal & Cities Internet of Things Transportation Vertical Focus
ter Participating in the internet for the future By connectedworld.com Published On :: Thu, 23 Jan 2020 08:00:00 PST The three pillars of Ciscoâ€TMs “Internet for the Future†strategy are its investments in silicon, optics, and software. More RSS Feed for Cisco: newsroom.cisco. ... Full Article Optics Silicon Software
ter Internet for the future: Revolutionize your network By www.cisco.com Published On :: Thu, 23 Jan 2020 08:00:00 PST Director Michael Bay shares how the #InternetForTheFuture is impacting the future of film making More RSS Feed for Cisco: newsroom.cisco.com/rss-feeds ... Full Article Enterprise Networking Media/Entertainment Service Provider Vertical Focus
ter Twitter moments: Cisco at #wef20 By twitter.com Published On :: Mon, 27 Jan 2020 08:00:00 PST Highlights of tweets about Cisco at the World Economic Forum More RSS Feed for Cisco: newsroom.cisco.com/rss-feeds ... Full Article Government Federal & Cities Vertical Focus
ter Entrepreneurial trees, watered by philanthropy, bears fruit By www.philanthropyroundtable.org Published On :: Mon, 27 Jan 2020 08:00:00 PST the Harambe Entrepreneur Allianceis hastening the development of Africa by promoting smaller and more daring actions. More RSS Feed for Cisco: newsroom.cisco.com/rss-feeds ... Full Article Corporate Social Responsibility
ter Cisco's new Cybersecurity Co-Innovation Center in Milan By blogs.cisco.com Published On :: Mon, 27 Jan 2020 12:00:00 PST Our newest Co-Innovation Center is focused on cybersecurity, privacy, digital skills and social impact. More RSS Feed for Cisco: newsroom.cisco.com/rss-feeds ... Full Article EMEAR Security
ter #CLEUR: Here's how we can build the future internet By www.wired.co.uk Published On :: Thu, 30 Jan 2020 08:00:00 PST The future internet will open new opportunities for remotely training and reskilling workers in a smoother and more effective way. More RSS Feed for Cisco: newsroom.cisco.com/rss-feeds ... Full Article Developers & Ecosystem Education Innovation Vertical Focus
ter Coronavirus | Chennai-based ayurvedic pharmacist dies after drinking concoction of his own preparation By www.thehindu.com Published On :: Fri, 08 May 2020 20:01:12 +0530 Managing Director of the firm faints after tasting the chemical Full Article Tamil Nadu
ter Sand lorry owners seek exemption from quarterly tax payment By www.thehindu.com Published On :: Fri, 08 May 2020 21:42:35 +0530 Most lorries were not operated during the lockdown which resulted in loss, they say Full Article Tamil Nadu
ter [ASAP] Monochromatic X-ray Source Based on Scattering from a Magnetic Nanoundulator By dx.doi.org Published On :: Tue, 07 Apr 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00121 Full Article
ter [ASAP] White Light Emission from a Zero-Dimensional Lead Chloride Hybrid Material By dx.doi.org Published On :: Thu, 09 Apr 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.9b01817 Full Article
ter [ASAP] Room Temperature Graphene Mid-Infrared Bolometer with a Broad Operational Wavelength Range By dx.doi.org Published On :: Fri, 10 Apr 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00028 Full Article
ter [ASAP] Directional off-Normal Photon Streaming from Hybrid Plasmon-Emitter Coupled Metasurfaces By dx.doi.org Published On :: Fri, 17 Apr 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00196 Full Article
ter [ASAP] Terahertz Spectroscopy of Gas Mixtures with Dual Quantum Cascade Laser Frequency Combs By dx.doi.org Published On :: Thu, 23 Apr 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.9b01758 Full Article
ter [ASAP] Near-Field Radiative Heat Transfer between Dissimilar Materials Mediated by Coupled Surface Phonon- and Plasmon-Polaritons By dx.doi.org Published On :: Fri, 24 Apr 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00404 Full Article
ter [ASAP] Exciton-Polaritons with Magnetic and Electric Character in All-Dielectric Metasurfaces By dx.doi.org Published On :: Thu, 30 Apr 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00063 Full Article
ter Making a Better Custom Select Element By feedproxy.google.com Published On :: Sun, 01 Dec 2019 12:00:00 +0000 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 Full Article Code accessibility
ter Interactivity and Animation with Variable Fonts By feedproxy.google.com Published On :: Thu, 05 Dec 2019 12:00:00 +0000 Mandy Michael turns the corner on our variable font adventure and stumbles into a grotto of wonder and amazement. Not forgetting the need for a proper performance budget, Mandy shows how variable fonts can free your creativity from bygone technical constraints. If you read Jason’s introductory article about variable fonts, you’ll understand the many benefits and opportunities that they offer in modern web development. From this point on we’ll assume that you have either read Jason’s introduction or have some prior knowledge of variable fonts so we can skip over the getting started information. If you haven’t read up on variable fonts before jump over to “Introduction to Variable Fonts: Everything you thought you knew about fonts just changed” first and then come join me back here so we can dive into using variable fonts for interactivity and animations! Creative Opportunities If we can use variable fonts to improve the performance of our websites while increasing the amount of style variations available to us, it means that we no longer need to trade off design for performance. Creativity can be the driving force behind our decisions, rather than performance and technical limitations. Cookie text effect font: This Man is a Monster, by Comic Book Fonts. My goal is to demonstrate how to create interactive, creative text on the web by combining variable fonts with CSS and JavaScript techniques that you may already be familiar with. With the introduction of variable fonts, designs which would have previously been a heavy burden on performance, or simply impossible due to technical limitations, are now completely possible. Still I Rise Poem by Maya Angelou, Demo emphasising different words with variable fonts. View on Codepen. Variable fonts demo with CSS Grid using multiple weights and font sizes to emphasise different parts of the message. View on Codepen. The tone and intent of our words can be more effectively represented with less worry over the impacts of loading in “too many font weights” (or other styles). This means that we can start a new path and focus on representing the content in more meaningful ways. For example, emphasising different words, or phrases depending on their importance in the story or content. Candy Cane Christmas Themed Text Effect with FS Pimlico Glow by Font Smith. View on Codepen. Note: using variable fonts does not negate the need for a good web font performance strategy! This is still important, because after all, they are still fonts. Keep that in mind and check out some of the great work done by Monica Dinculescu, Zach Leatherman or this incredible article by Helen Homes. Variable Fonts & Animations Because variable fonts can have an interpolated range of values we can leverage the flexibility and interactive nature of the web. Rather than using SVG, videos or JavaScript to accomplish these effects, we can create animations or transitions using real text, and we can do this using techniques we may already be familiar with. This means we can have editable, selectable, searchable, copy-pastable text, which is accessible via a screenreader. Grass Variable Font Demo Growing Grass Variable Font Text. Demo on Codepen. This effect is achieved using a font called Decovar, by David Berlow. To achieve the animation effect we only need a couple of things to get started. First, we set up the font-family and make use of the new property font-variation-settings to access the different axes available in Decovar. h1 { font-family: "Decovar"; font-variation-settings: 'INLN' 1000, 'SWRM' 1000; } For this effect, we use two custom axis – the first is called “inline” and is represented by the code INLI and the second is “skeleton worm” represented by the code SWRM. For both axes, the maximum value is 1000 and the minimum value is 0. For this effect, we’ll make the most of the full axis range. Once we have the base set up, we can create the animation. There are a number of ways to animate variable fonts. In this demo, we’ll use CSS keyframe animations and the font-variation-settings property, but you can also use CSS transitions and JavaScript as well. The code below will start with the “leaves” expanded and then shrink back until it disappears. @keyframes grow { 0% { font-variation-settings: 'INLN' 1000, 'SWRM' 1000; } 100% { font-variation-settings: 'INLN' 1000, 'SWRM' 0; } } Once we have created the keyframes we can add the animation to the h1 element, and that is the last piece needed in order to create the animation. h1 { font-family: "Decovar"; font-variation-settings: 'INLN' 1000, 'SWRM' 1000; animation: grow 4s linear alternate infinite; } What this demonstrates is that typically, to accomplish effects like this, the heavy lifting is done by the font. We really only need a few lines of CSS for the animation, which if you think about it, is pretty incredible. There are all sorts of interesting, creative applications of variable fonts, and a lot of incredible fonts you can make the most of. Whether you want to create that “hand-writing” effect that we often see represented with SVG, or something a little different, there are a lot of different options. Duos Writer: Hand Writing Demo of hand writing variable font, Duos Writer by Underware. Decovar: Disappearing Text See the Pen CSS-only variable font demo using Decovar Regular by Mandy Michael (@mandymichael) on CodePen. Cheee: Snow Text Snow Text Effect - Text fills up with snow and gets “heavier” at the bottom as more snow gathers. Featuring “Cheee” by OhNoTypeCo. View on Codepen. Variable Fonts, Media Queries and Customisation It’s not that these are just beautiful or cool effects, what they demonstrate is that as developers and designers we can now control the font itself and that that means is that variable fonts allow typography on the web to adapt to the flexible nature of our screens, environments and devices. We can even make use of different CSS media queries to provide more control over our designs based on environments, light contrast and colour schemes. Though the CSS Media Queries Level 5 Spec is still in draft stages, we can experiment with the prefers-color-scheme (also known as dark mode) media query right now! Dark Mode featuring Oozing Cheee by OhNoTypeCo Oozing Dark Mode Text featuring “Cheee” by OhNoTypeCo. View Demo on Codepen. The above example uses a font called “Cheee” by OhNoTypeCo and demonstrates how to make use of a CSS Transition and the prefers-color-scheme media query to transition the axis of a variable font. h1 { font-family: “Cheee" font-variation-settings: "TEMP" 0; transition: all 4s linear; } @media (prefers-color-scheme: dark) { h1 { font-variation-settings: "TEMP" 1000; } } Dark mode isn’t just about changing the colours, it’s important to consider things like weight as well. It’s the combination of the weight, colour and size of a font that determines how legible and accessible it is for the user. In the example above, I’m creating a fun effect – but more practically, dark mode allows us to modify the contrast and styles to ensure better legibility and usability in different environments. What is even more exciting about variable fonts in this context is that if developers and designers can have this finer control over our fonts to create more legible, accessible text, it also means the user has access to this as well. As a result, users that create their own stylesheets to customise the experience to their specific requirements, can now adjust the pages font weight, width or other available axis to what best suits them. Providing users with this kind of flexibility is such an incredible opportunity that we have never had before! As CSS develops, we’ll have access to different environmental and system features that allow us to take advantage of our users unique circumstances. We can start to design our typography to adjust to things like screen width - which might allow us to tweak the font weight, width, optical size or other axes to be more readable on smaller or larger screens. Where the viewport is wide we can have more detail, when its smaller in a more confined space we might look at reducing the width of the font—this helps to maintain the integrity of the design as the viewport gets smaller or, to fit text into a particular space. See the Pen CSS is Awesome - Variable fonts Edition. by Mandy Michael (@mandymichael) on CodePen. We have all been in the situation where we just need the text to be slightly narrower to fit within the available space. If you use a variable font with a width axis you can slightly modify the width to adjust to the space available, and do so in a way that the font was designed to do, rather than using things like letter spacing which doesn’t consider the kerning of the characters. Variable Fonts, JavaScript and Interactive Effects We can take these concepts even further and mix in a little JavaScript to make use of a whole suite of different interactions, events, sensors and apis. The best part about this is whether you are using device orientation, light sensors, viewport resizes, scroll events or mouse movement, the base JavaScript doesn’t really change. To demonstrate this, we’ll use a straightforward example – we’ll match our font weight to the size of our viewport – as the viewport gets smaller, the font weight gets heavier. Demo: As the viewport width changes, the weight of the text “Jello” becomes heavier. We’ll start off by setting our base values. We need to define the minimum and maximum axis values for the font weight, and the minimum and maximum event range, in this case the viewport size. Basically we’re defining the start and end points for both the font and the event. // Font weight axis range const minAxisValue = 200 const maxAxisValue = 900 // Viewport range const minEventValue = 320px const maxEventValue = 1440px Next we determine the current viewport width, which we can access with something like window.innerWidth. // Current viewport width const windowWidth = window.innerWidth Using the current viewport width value, we create the new scale for the viewport, so rather than the pixels values we convert it to a range of 0 - 0.99. const windowSize = (windowWidth - minEventValue) / (maxEventValue - minEventValue) // Outputs a value from 0 - 0.99 We then take that new viewport decimal value and use it to determine the font weight based on viewport scale. const fontWeight = windowSize * (minAxisValue - maxAxisValue) + maxAxisValue; // Outputs a value from 200 - 900 including decimal places This final value is what we use to update our CSS. You can do this however you want – lately I like to use CSS Custom Properties. This will pass the newly calculated font weight value into our CSS and update the weight as needed. // JavaScript p.style.setProperty("--weight", fontWeight); Finally, we can put all this inside a function and inside an event listener for window resize. You can modify this however you need to in order to improve performance, but in essence, this is all you need to achieve the desired outcome. function fluidAxisVariation() { // Current viewport width const windowWidth = window.innerWidth // Get new scales for viewport and font weight const viewportScale = (windowWidth - 320) / (1440 - 320); const fontWeightScale = viewportScale * (200 - 900) + 900; // Set in CSS using CSS Custom Property p.style.setProperty("--weight", fontWeightScale); } window.addEventListener("resize", fluidAxisVariation); You can apply this to single elements, or multiple. In this case, I’m changing the paragraph font weights and different rates, but also reducing the width axis of the headline so it doesn’t wrap onto multiple lines. As previously mentioned, this code can be used to create all sorts of really amazing, interesting effects. All that’s required is passing in different event and axis values. In the following example, I’m using mouse position events to change the direction and rotation of the stretchy slinky effect provided by the font “Whoa” by Scribble Tone. See the Pen Slinky Text - WHOA Variable font demo by Mandy Michael (@mandymichael) on CodePen. We can also take the dark mode/colour schemes idea further by making use of the Ambient Light Sensor to modify the font to be more legible and readable in low light environments. This effect uses Tiny by Jack Halten Fahnestock from Velvetyne Type Foundry and demonstrates how we modify our text based by query the characteristics of the user’s display or light-level, sound or other sensors. It’s only because Variable fonts give us more control over each of these elements that we can fine-tune the font characteristics to maximise the legibility, readability and overall accessibility of our website text. And while these examples might seem trivial, they are great demonstrations of the possibilities. This is a level of control over our fonts and text that is unprecedented. Using device orientation to change the scale and weight of individual characters. View on Codepen. Variable Fonts offer a new world of interactivity, usability and accessibility, but they are still a new technology. This means we have the opportunity to figure out how and what we can achieve with them. From where I stand, the possibilities are endless, so don’t be limited by what we can already do – the web is still young and there is so much for us to create. Variable fonts open up doors that never existed before and they give us an opportunity to think more creatively about how we can create better experiences for our users. At the very least, we can improve the performance of our websites, but at best, we can make more usable, more accessible, and more meaningful content - and that, is what gets me really excited about the future of web typography with variable fonts. About the author Mandy is a community organiser, speaker, and developer working as the Front End Development Manager at Seven West Media in Western Australia. She is a co-organiser and Director of Mixin Conf, and the founder and co-organiser of Fenders, a local meetup for front-end developers providing events, mentoring and support to the Perth web community. Mandy’s passion is CSS, HTML and JS and hopes to inspire that passion in others. She loves the supportive and collaborative nature of the web and strives to encourage this environment through the community groups she is a part of. Her aim is to create a community of web developers who can share, mentor, learn and grow together. More articles by Mandy Full Article Code Design typography