ca Inspect chemical factories before reopening: Tamil Nadu Consumer Protection Organisation By www.thehindu.com Published On :: Sat, 09 May 2020 00:12:54 +0530 The Tamil Nadu Consumer Protection Organisation has asked the Tamil Nadu government to form a committee of officials from the environment, industries Full Article Tamil Nadu
ca [ASAP] Low-Threshold Lasing up to 360 K in All-Dielectric Subwavelength-Nanowire Nanocavities By dx.doi.org Published On :: Tue, 07 Apr 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00166 Full Article
ca [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
ca [ASAP] Ultrafast Dynamics of Optically Induced Heat Gratings in Metals By dx.doi.org Published On :: Mon, 13 Apr 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00224 Full Article
ca [ASAP] Hierarchical Plasmon Resonances in Fractal Structures By dx.doi.org Published On :: Tue, 14 Apr 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00110 Full Article
ca [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
ca [ASAP] Chip-Scale Reconfigurable Optical Full-Field Manipulation: Enabling a Compact Grooming Photonic Signal Processor By dx.doi.org Published On :: Tue, 28 Apr 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00103 Full Article
ca [ASAP] Gain-Assisted Optomechanical Position Locking of Metal/Dielectric Nanoshells in Optical Potentials By dx.doi.org Published On :: Mon, 04 May 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00213 Full Article
ca [ASAP] Strain-Correlated Localized Exciton Energy in Atomically Thin Semiconductors By dx.doi.org Published On :: Mon, 04 May 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00626 Full Article
ca [ASAP] Probing the Radiative Electromagnetic Local Density of States in Nanostructures with a Scanning Tunneling Microscope By dx.doi.org Published On :: Wed, 06 May 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00264 Full Article
ca [ASAP] Line-Scan Hyperspectral Imaging Microscopy with Linear Unmixing for Automated Two-Dimensional Crystals Identification By dx.doi.org Published On :: Wed, 06 May 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00050 Full Article
ca [ASAP] Strong Optical Feedback Stabilized Quantum Cascade Laser By dx.doi.org Published On :: Fri, 08 May 2020 04:00:00 GMT ACS PhotonicsDOI: 10.1021/acsphotonics.0c00189 Full Article
ca Future Accessibility Guidelines—for People Who Can’t Wait to Read Them By feedproxy.google.com Published On :: Tue, 03 Dec 2019 12:00:00 +0000 Alan Dalton uses this, the International Day of Persons with Disabilities, to look back at where we’ve come from, to evaluate where we are, and to look forward to what’s coming next in the future of accessibility guidelines. Happy United Nations International Day of Persons with Disabilities! The United Nations have chosen “Promoting the participation of persons with disabilities and their leadership: taking action on the 2030 Development Agenda” for this year’s observance. Let’s see how the World Wide Web Consortium (W3C)’s Web Accessibility Initiative (WAI) guidelines of accessibility past, present, and yet-to-come can help us to follow that goal, and make sure that the websites—and everything else!—that we create can include as many potential users as possible. Guidelines of Accessibility Past The W3C published the Web Content Accessibility Guidelines (WCAG) 1.0 on 5th May 1999, when most of us were playing Snake on our Nokia 3210s’ 1.5” monochrome screens…a very long time ago in technology terms. From the start, those guidelines proved enlightening for designers and developers who wanted to avoid excluding users from their websites. For example, we learned how to provide alternatives to audio and images, how to structure information, and how to help users to find the information they needed. However, those guidelines were specific to the web technologies of the time, resulting in limitations such as requiring developers to “use W3C technologies when they are available […]”. Also, those guidelines became outdated; I doubt that you, gentle reader, consult their technical documentation about “directly accessible applets” or “Writing for browsers that do not support FRAME” in your day-to-day work. Guidelines of Accessibility Present The W3C published the Web Content Accessibility Guidelines (WCAG) 2.0 on 11th December 2008, when most of us were admiring the iPhone 3G’s innovative “iPhone OS 2.0” software…a long time ago in technology terms. Unlike WCAG 1, these guidelines also applied to non-W3C technologies, such as PDF and Flash. These guidelines used legalese and future-proofed language, with terms such as “time-based media” and “programmatically determined”, and testable success criteria. This made these guidelines more difficult for designers and developers to grasp, but also enabled the guidelines to make their way into international standards (see EN 301 549 — Accessibility requirements suitable for public procurement of ICT products and services in Europe and ISO/IEC 40500:2012 Information technology — W3C Web Content Accessibility Guidelines (WCAG) 2.0) and even international law (see EU Directive 2016/2102 … on the accessibility of the websites and mobile applications of public sector bodies). More importantly, these guidelines enabled designers and developers to create inclusive websites, at scale. For example, in the past 18 months: Intercom made their web Messenger accessible, achieving Level-AA conformance; Vimeo made accessibility updates to their video player to achieve Level-AA conformance; Stripe designed a new accessible colour system to conform with success criterion 1.4.3 (“Contrast (Minimum)”). The updated Web Content Accessibility Guidelines (WCAG) 2.1 arrived on 5th June last year—almost a 10-year wait for a “.1” update!—and added 17 new success criteria to help bring the guidelines up to date. Those new criteria focused on people using mobile devices and touchscreens, people with low vision, and people with cognitive and learning disabilities. (If you need to get up to speed with these guidelines, take 36 minutes to read “Web Content Accessibility Guidelines—for People Who Haven’t Read Them” and Web Content Accessibility Guidelines 2.1—for People Who Haven’t Read the Update.) Guidelines of Accessibility Yet to Come So, what’s next? Well, the W3C hope to release another minor update (WCAG 2.2) in November 2020. However, they also have a Task Force working on produce major new guidelines with wider scope (more people, more technologies) and fewer limitations (easier to understand, easier to use) in November 2022. These next guidelines will have a different name, because they will cover more than “Web” and “Content”. Andrew Kirkpatrick (Adobe’s Head of Accessibility) named the Task Force “Silver” (because the initials of “Accessibility Guidelines” form the symbol of the silver element). The Silver Task Force want the next major accessibility guidelines to: take account of more disabilities; apply to more technologies than just the web, including virtual reality, augmented reality, voice assistants, and more; consider all the technologies that people use, including authoring tools, browsers, media players, assistive technologies (including screen readers and screen magnifiers), application software, and operating systems. That’s quite a challenge, and so the more people who can help, the better. The Silver Task Force wanted an alternative to W3C’s Working Groups, which are made up of employees of organisations who are members of the W3C, and invited experts. So, they created a Silver Community Group to allow everyone to contribute towards this crucial work. If you want to join right now, for free, just create a W3C account. Like all good designers, the Silver Task Force and Silver Community Group began by researching. They examined the problems that people have had when using, conforming to, and maintaining the existing accessibility guidelines, and then summarised that research. From there, the Silver Community Group drafted ambitious design principles and requirements. You can read about what the Silver Community Group are currently working on, and decide whether you would like to get involved now, or at a later stage. Emphasise expertise over empathy Remember that today’s theme is “Promoting the participation of persons with disabilities and their leadership: taking action on the 2030 Development Agenda”. (The United Nations’ 2030 Development Agenda is outside the scope of this article, but if you’re looking to be inspired, read Alessia Aquaro’s article on Public Digital’s blog about how digital government can contribute to the UN’s Sustainable Development Goals.) In line with this theme, if you don’t have a disability and you want to contribute to the Silver Community Group, resist the temptation to try to empathise with people with disabilities. Instead, take 21 minutes during this festive season to enjoy the brilliant Liz Jackson explaining how empathy reifies disability stigmas, and follow her advice. Choose the right route I think we can expect the next Accessibility Guidelines to make their way into international standards and international law, just like their predecessors. We can also expect successful companies to apply them at scale. If you contribute to developing those guidelines, you can help to make sure that as many people as possible will be able to access digital information and services, in an era when that access will be crucial to every aspect of people’s lives. As Cennydd Bowles explained in “Building Better Worlds”, “There is no such thing as the future. There are instead a near-infinity of potential futures. The road as-yet-untravelled stretches before us in abundant directions. We get to choose the route. There is no fate but what we make.” About the author Alan Dalton worked for Ireland’s National Disability Authority for 9½ years, mostly as Accessibility Development Advisor. That involved working closely with public sector bodies to make websites, services, and information more accessible to all users, including users with disabilities. Before that, he was a consultant and trainer for Software Paths Ltd. in Dublin. In his spare time, he maintains StrongPasswordGenerator.com to help people stay safe online, tweets, and takes photos. More articles by Alan Full Article Code accessibility
ca A Modern Typographic Scale By feedproxy.google.com Published On :: Thu, 19 Dec 2019 12:00:00 +0000 Rob Weychert reaches for the top notes to sing us a song of typographic scale. A little attention to scale and to the mathematics will help you to hit a high note with your designs this Christmas and beyond. I’ve been studying music theory this year. While some of its core concepts were already familiar to me, much of their specifics were not. Or so I thought. A funny thing happened when I was learning the major scales. While playing through a song I had written some years before, I started picking it apart to see how it correlated with the theory I was learning. I had composed the melody without any thought to what the specific notes were, but as I started to transcribe them, a pattern quickly emerged: all the B’s and E’s were flat and the rest of the notes were natural. Lo and behold, long before my music theory studies began, I had written a song in B♭ major. My ears already knew how the major scales worked even if my brain didn’t. (If you know how “do re mi fa so la ti do” is supposed to sound tonally, then your ears know, too.) When music is composed to a scale, it sounds “right” to us. And just as our ears appreciate harmony and melody with a rational basis, our eyes can appreciate the same concepts applied to spatial relationships. Have you ever struggled with sizing type in a design project, especially when you need more than just one or two sizes? Have you ever despaired at the number of ad-hoc type sizes on your site spiraling out of control over time? It could be that you’ve been composing the typographic equivalent of a cacophonous symphony. And the first thing any composer will tell you to do is to get that thing on a scale. Meet the typographic scale You don’t need to know music theory to work with a typographic scale. You only need to know that a scale is a range of values with an established mathematic relationship. For a typographic scale, that relationship is frequently a steady interval between type sizes. Depending on what you need your type to do, the interval might be fixed (e.g. each size is two pixels bigger than the size before it) or it might be proportional (e.g. each size is twice as big as the size before it). I personally rarely find fixed intervals useful, so I’ll be focusing on proportional intervals. The most important thing to understand about proportional intervals is thankfully not complicated: The bigger the intervals are, the more drastic the size differences will be in your scale. If your layout calls for contrast, a bigger interval might be the way to go. If you’re aiming for something more nuanced, go smaller. But keep these things in mind: There is such a thing as too much nuance: if a size on your scale is virtually indistinguishable from the sizes adjacent to it, it defeats the purpose of using a scale. On the flip side, too much contrast renders the sizes’ proportional relationship moot. At a certain point, massive display type is arguably more graphic than textual. More is less. The more sizes you use, the less they’ll mean. A small interval (left, 1.1) offers a smoother range of sizes; a large interval (right, 1.8) offers more contrast. Setting up the scale variables The quickest way to get a scale up and running when working on the web is to drop its values into some CSS variables. The naming convention I typically use begins with --scale0, which is the body text size. The size below it is --scale-1 (as in “scale minus one”), the size above it is --scale1, and so on. Keeping the names relative to each other like this helps me move around the scale intuitively as I use it. If, say, --scale4 isn’t big enough for my h1, I can move up to --scale5 or --scale6, and I always know exactly how many steps away from the body text I am. Here’s a first pass at a simple set of scale variables using an interval of 1.5: :root { --scale-2: 7.1px; /* 10.7 ÷ 1.5 */ --scale-1: 10.7px; /* 16 ÷ 1.5 */ --scale0: 16px; /* body text */ --scale1: 24px; /* 16 × 1.5 */ --scale2: 36px; /* 24 × 1.5 */ } I can use these variables with any CSS property that accepts a numeric value, like so: p { font-size: var(--scale0); } Rooting around in rems I’m off to a good start. However, those px values are a little too absolute for my liking. If I convert them to rems, it’ll give my scale more flexibility. rem stands for “root em.” 1rem is equivalent to the html element’s text size, which in most browsers defaults to 16px. Crucially, though, users can adjust that size in their browser settings, and using rems in my CSS will respect those preferences. :root { --scale-2: 0.4rem; /* 0.7rem ÷ 1.5 */ --scale-1: 0.7rem; /* 1rem ÷ 1.5 */ --scale0: 1rem; /* body text */ --scale1: 1.5rem; /* 1rem × 1.5 */ --scale2: 2.25rem; /* 1.5rem × 1.5 */ } Another benefit of the relative nature of rems: I tend to use larger text sizes on large viewports and smaller text sizes on small viewports. Rather than adjusting dozens or hundreds of typographic CSS declarations per breakpoint, I can shift the whole scale up or down merely by adjusting the font-size on the html element: html { font-size: 100%; } /* 1rem = 16px */ @media screen and (min-width: 25em) { html { font-size: 112.5%; } /* 1rem = 18px */ } Calculating with calc() My scale is coming along. Its variables’ intuitive names make it easy for me to use, and its rem values respect the user’s browser preferences and allow me to easily shift the size of the entire scale at different viewport sizes. But my setup still isn’t optimized for one very important adjustment: the interval, which is currently 1.5. If 1.5 isn’t quite working for me and I want to see how an increase or decrease will affect the scale, I need to do the math all over again for every step in the scale every time I adjust the interval. The bigger the scale, the more time that will take. It’s time to put down the abacus and get calc() involved. :root { --int: 1.5; --scale0: 1rem; --scale-1: calc(var(--scale0) / var(--int)); --scale-2: calc(var(--scale-1) / var(--int)); --scale1: calc(var(--scale0) * var(--int)); --scale2: calc(var(--scale1) * var(--int)); } My interval now has its very own variable, called --int. calc() determines each scale size by multiplying the preceding size by --int. Now that every size is ultimately dependent on --scale0’s value, --scale0 must appear first in the list. Since the sizes smaller than --scale0 are going down rather than up, their values require division rather than multiplication. Scaling the scale I can now quickly and easily tweak my scale’s interval by adjusting --int until the proportions are just right, but if I want to add more sizes to the scale, I need to add more variables and calc() values. This isn’t too big of a deal, but if I want to double or triple the number of sizes, it’s kind of a headache. Luckily, this is the sort of thing Sass is really good at. In the following code, adjusting the first four Sass variables at the top of :root will quickly spin up a set of CSS variables like the scale above, with any interval (proportional or fixed) and any number of scale sizes: :root { $interval: 1.5; // Unitless for proportional, unit for fixed $body-text: 1rem; // Must have a unit $scale-min: -2; // Unitless negative integer $scale-max: 2; // Unitless positive integer --int: #{$interval}; --scale0: #{$body-text}; @if $scale-min < 0 { // Generate scale variables smaller than the base text size @for $i from -1 through $scale-min { @if type-of($interval) == number { @if unitless($interval) { --scale#{$i}: calc(var(--scale#{$i + 1}) / var(--int)); } @else { --scale#{$i}: calc(var(--scale#{$i + 1}) - var(--int)); } } } } @if $scale-max > 0 { // Generate scale variables larger than the base text size @for $i from 1 through $scale-max { @if type-of($interval) == number { @if unitless($interval) { --scale#{$i}: calc(var(--scale#{$i - 1}) * var(--int)); } @else { --scale#{$i}: calc(var(--scale#{$i - 1}) + var(--int)); } } } } } Go forth and scale Typographic scales have been an indispensable part of my work for many years, and CSS variables and calc() make setup, adjustments, and experimentation easier than ever. I hope you find these techniques as useful as I do! About the author Rob Weychert is a Brooklyn-based designer. He helps shape the reading experience at ProPublica and has previously helped make books at A Book Apart, games at Harmonix, and websites at Happy Cog. In his free time, he obsesses over music and film. Despite all this, he is probably best known as a competitive air guitarist. More articles by Rob Full Article Design css
ca Flexible Captioned Slanted Images By feedproxy.google.com Published On :: Sat, 21 Dec 2019 12:00:00 +0000 Eric Meyer gift wraps the most awkwardly shaped of boxes using nothing but CSS, HTML and a little curl of ribbon. No matter how well you plan and how much paper you have at your disposal, sometimes you just need to slant the gift to the side. We have a lot of new layout tools at our disposal these days—flexbox is finally stable and interoperable, and Grid very much the same, with both technologies having well over 90% support coverage. In that light, we might think there’s no place for old tricks like negative margins, but I recently discovered otherwise. Over at An Event Apart, we’ve been updating some of our landing pages, and our designer thought it would be interesting to have slanted images of speakers at the tops of pages. The end result looks like this. The interesting part is the images. I wanted to set up a structure like the following, so that it will be easy to change speakers from time to time while preserving accessible content structures: <div id="page-top"> <ul class="monoliths"> <li> <a href="https://aneventapart.com/speakers/rachel-andrew"> <img src="/img/rachel-andrew.jpg" alt=""> <div> <strong>Rachel Andrew</strong> CSS Grid </div> </a> </li> <li> <a href="https://aneventapart.com/speakers/derek-featherstone"> <img src="/img/derek-featherstone.jpg" alt=""> <div> <strong>Derek Featherstone</strong> Accessibility </div> </a> </li> <li> … </li> <li> … </li> </ul> </div> The id value for the div is straightforward enough, and I called the ul element monoliths because it reminded me of the memorial monoliths at the entrance to EPCOT in Florida. I’m also taking advantage of the now-ubiquitous ability to wrap multiple elements, including block elements, in a hyperlink. That way I can shove the image and text structures in there, and make the entire image and text below it one link. Structure is easy, though. Can we make that layout fully responsive? I wondered. Yes we can. Here’s the target layout, stripped of the navbar and promo copy. So let’s start from the beginning. The div gets some color and text styling, and the monoliths list is set to flex. The images are in a single line, after all, and I want them to be flexible for responsive reasons, so flexbox is 100% the right tool for this particular job. #page-top { background: #000; color: #FFF; line-height: 1; } #page-top .monoliths { display: flex; padding-bottom: 1em; overflow: hidden; } I also figured, let’s give the images a simple basis for sizing, and set up the hyperlink while we’re at it. #page-top .monoliths li { width: 25%; } #page-top .monoliths a { color: inherit; text-decoration: inherit; display: block; padding: 1px; } So now the list items are 25% wide—I can say that because I know there will be four of them—and the links pick up the foreground color from their parent element. They’re also set to generate a block box. At this point, I could concentrate on the images. They need to be as wide as their parent element, but no wider, and also match height. While I was at it, I figured I’d create a little bit of space above and below the captioning text, and make the strong elements containing speakers’ names generate a block box. #page-top .monoliths img { display: block; height: 33rem; width: 100%; } #page-top .monoliths div { padding: 0.5em 0; } #page-top .monoliths strong { display: block; font-weight: 900; } It looks like the speakers were all cast into the Phantom Zone or something, so that needs to be fixed. I can’t physically crop the images to be the “correct” size, because there is no correct size: this needs to work across all screen widths. So rather than try to swap carefully-sized images in and out at various breakpoints, or complicate the structure with a wrapper element set to suppress overflow of resized images, I turned to object-fit. #page-top .monoliths img { display: block; height: 33rem; width: 100%; object-fit: cover; object-position: 50% 20%; } If you’ve never used object-fit, it’s a bit like background-size. You can use it to resize image content within the image’s element box without creating distortions. Here, I set the fit sizing to cover, which means all of the img element’s element box will be covered by image content. In this case, it’s like zooming in on the image content. I also set a zooming origin with object-position, figuring that 50% across and 20% down would be in the vicinity of a speaker’s face, given the way pictures of people are usually taken. This is fairly presentable as-is—a little basic, perhaps, but it would be fine to layer the navbar and promo copy back over it with Grid or whatever, and call it a day. But it’s too square and boxy. We must go further! To make that happen, I’m going to take out the third and fourth images temporarily, so we can see more clearly how the next part works. That will leave us with Rachel and Derek. The idea here is to clip the images to be slanted, and then pull them close to each other so they have just a little space between them. The first part is managed with clip-path, but we don’t want to pull the images together unless their shapes are being clipped. So we set up a feature query. @supports (clip-path: polygon(0 0)) or (-webkit-clip-path: polygon(0 0)) { #page-top .monoliths li { width: 37.5%; } } I decided to test for both the un-prefixed and WebKit-prefixed versions of clip-path because Safari still requires the prefix, and I couldn’t think of a good reason to penalize Safari’s users for the slowness of its standards advancement. Then I made the images wider, taking them from 25% to 37.5%, which makes them half again as wide. Thanks to object fitting, the images don’t distort when I change their parent’s width; they just get wider and scale up the contents to fit. And now, it is time for clipping! @supports (clip-path: polygon(0 0)) or (-webkit-clip-path: polygon(0 0)) { #page-top .monoliths li { width: 37.5%; -webkit-clip-path: polygon(25% 0, 100% 0, 75% 100%, 0 100%); clip-path: polygon(25% 0, 100% 0, 75% 100%, 0 100%); } } Each coordinate pair in the polygon() is like the position pairs in background-position or object-position: the horizontal distance first, followed by the vertical distance. So the first point in the polygon is 25% 0, which is 25% of the way across the element box, and no distance down, so right at the top edge. 100% 0 is the top right corner. 75% 100% is on the bottom edge, three-quarters of the way across the element, and 0 100% is the bottom left corner. That creates a polygon that’s a strip three-quarters the full width of the element box, and runs from bottom left to top right. Now we just have to pull them together, and this is where old tricks come back into play: all we need is a negative right margin to bring them closer together. #page-top .monoliths li { width: 37.5%; margin-right: -7.5%; -webkit-clip-path: polygon(25% 0, 100% 0, 75% 100%, 0 100%); clip-path: polygon(25% 0, 100% 0, 75% 100%, 0 100%); } The separation between them is a little wider than we were originally aiming for, but let’s see what happens when we add the other two images back in and let flexbox do its resizing magic. Your browser doesn’t support HTML5 video. Here is a link to the video instead. Notice how the slants actually change shape as the screen gets narrower or wider. This is because they’re still three-quarters the width of the image element’s box, but the width of that box is changing as the screen width changes. That means at narrow widths, the slant is much steeper, whereas at wide widths, the slant is more shallow. But since the clipping path’s coordinates were all set with percentage distances, they all stay parallel to each other while being completely responsive to changes in screen size. An absolute measure like pixels would have failed. But how did the images get closer together just by adding in two more? Because the list items’ basic sizing added up to more than 100%, and they’re all set to flex-shrink: 1. No, you didn’t miss a line in the CSS: 1 is the default value for flex-shrink. Flex items will shrink by default, which after all is what we should expect from a flexible element. If you want to know how much they shrunk, and why, here’s what Firefox’s flex inspector reports. When there were only two list items, there was space enough for both to be at their base size, with no shrinkage. Once we went to four list items, there wasn’t enough space, so they all shrank down. At that point, having a negative right margin of -7.5% was just right to pull them together to act as a unit. So, now they’re all nicely nestled together, and fully responsive! The captions need a little work, though. Notice how they’re clipped off a bit on the left edge, and can be very much clipped off on the right side at narrower screen widths? This happens because the li elements are being clipped, and that clipping applies to all their contents, images and text alike. And we can’t use overflow to alter this: clipped is clipped, not overflowed. Fortunately, all we really need to do is push the text over a small amount. Inside the feature query, I added: #page-top .monoliths div { padding-left: 2%; padding-right: 26%; } This shifts the text just a bit rightward, enough to clear the clip path. On the right side, I padded the div boxes so their contents wouldn’t fall outside the clipped area and appear to slide under the next caption. We could also use margins here, but I didn’t for reasons I’ll make clear at the end. At the last minute, I decided to make the text at least appear to follow the slants of the images. For that, I just needed to shift the first line over a bit, which I did with a bit more padding. #page-top .monoliths strong { padding-left: 1%; } That’s all to the good, but you may have noticed the captions still overlap at really narrow screen widths. There are a lot of options here, from stacking the images atop one another to reverting to normal flow, but I decided to just hide the captions if things got too narrow. It reduces clutter without sacrificing too much in the way of content, and by leaving them still technically visible, they seem to remain accessible. @media (max-width: 35rem) { #page-top .monoliths div { opacity: 0.01 } } And that, as they say, is that! Fully responsive slanted images with text, in an accessible markup structure. I dig it. I did fiddle around with the separations a bit, and found that a nice thin separator occurred around margin-right: -8%, whereas beefier ones could be found above -7%. And if you crank the negative margin value to something beyond -8%, you’ll make the images overlap entirely, no visible separation—which can be a useful effect in its own right. I promised to say why I used padding for the caption text div rather than margins. Here’s why. #page-top .monoliths div { padding-left: 3%; padding-right: 26%; border-top: 2px solid transparent; background: linear-gradient(100deg,hsl(292deg,50%,50%) 50%, transparent 85%); background-clip: padding-box; } It required a wee bit more padding on the left to look decent, and an alteration to the background clipping box in order to keep the purple from filling the transparent border area, but the end result is pretty nifty, if I do say so myself. Alternatively, we could drop the background gradient on the captions and put one in the background, with a result like this. I have no doubt this technique could be extended, made more powerful, and generally improved upon. I really wished for subgrid support in Chrome, so that I could put everything on a grid without having to tear the markup structure apart, and there are doubtless even more interesting clipping paths and layout patterns to try out. I hope these few ideas spark some much better ideas in you, and that you’ll share them with us! About the author Eric A. Meyer (@meyerweb) has been a burger flipper, a college webmaster, an early blogger, one of the original CSS Samurai, a member of the CSS Working Group, a consultant and trainer, and a Standards Evangelist for Netscape. Among other things, Eric co-wrote Design For Real Life with Sara Wachter-Boettcher for A Book Apart and CSS: The Definitive Guide with Estelle Weyl for O’Reilly, created the first official W3C test suite, assisted in the creation of microformats, and co-founded An Event Apart with Jeffrey Zeldman. Eric lives with his family in Cleveland, Ohio, which is a much nicer city than you’ve probably heard. He enjoys a good meal whenever he can and considers almost every form of music to be worthwhile. More articles by Eric Full Article Design css
ca Four Ways Design Systems Can Promote Accessibility – and What They Can’t Do By feedproxy.google.com Published On :: Mon, 23 Dec 2019 12:00:00 +0000 Amy Hupe prepares a four bird roast of tasty treats so we can learn how the needs of many different types of users can be served through careful implementation of components within a design system. Design systems help us to make our products consistent, and to make sure we’re creating them in the most efficient way possible. They also help us to ensure our products are designed and built to a high quality; that they’re not only consistent in appearance, and efficiently-built, but that they are good. And good design means accessible design. 1 in 5 people in the UK have a long term illness, impairment or disability – and many more have a temporary disability. Designing accessible services is incredibly important from an ethical, reputational and commercial standpoint. For EU government websites and apps, accessibility is also a legal requirement. With that in mind, I’ll explain the four main ways I think we can use design systems to promote accessible design within an organisation, and what design systems can’t do. 1. Bake it in Design systems typically provide guidance and examples to aid the design process, showing what best practice looks like. Many design systems also encompass code that teams can use to take these elements into production. This gives us an opportunity to build good design into the foundations of our products, not just in terms of how they look, but also how they work. For everyone. Let me give an example. The GOV.UK Design System contains a component called the Summary list. It’s used in a few different contexts on GOV.UK, to summarise information. It’s often used at the end of a long or complex form, to let users check their answers before they send them, like this: Users can review the information and, if they’ve entered something incorrectly, they can go back and edit their answer by clicking the “Change” link on the right-hand side. This works well if you can see the change link, because you can see which information it corresponds to. In the top row, for example, I can see that the link is giving me the option to change the name I’ve entered because I can see the name label, and the name I put in is next to it. However, if you’re using a screen reader, this link – and all the others – will just say “change”, and it becomes harder to tell what you’re selecting. So to help with this, the GOV.UK Design System team added some visually-hidden text to the code in the example, to make the link more descriptive. Sighted users won’t see this text, but when a screen reader reads out the link, it’ll say “change name”. This makes the component more accessible, and helps it to satisfy a Web Content Accessibility Guidelines (WCAG 2.1) success criterion for links which says we must “provide link text that identifies the purpose of the link without needing additional context”. By building our components with inclusion in mind, we can make it easier to make products accessible, before anyone’s even had to think about it. And that’s a great starting point. But that doesn’t mean we don’t have to think about it – we definitely do. And a design system can help with that too. 2. Explain it Having worked as the GOV.UK Design System’s content designer for the best part of 3 years, I’m somewhat biased about this, but I think that the most valuable aspect of a design system is its documentation. (Here’s a shameless plug for my patterns Day talk on design system documentation earlier this year, if you want to know more about that.) When it comes to accessibility, written documentation lets us guide good practice in a way that code and examples alone can’t. By carefully documenting implementation rules for each component, we have an opportunity to distribute accessible design principles throughout a design system. This means design system users encounter them not just once, but repeatedly and frequently, in various contexts, which helps to build awareness over time. For instance, WCAG 2.1 warns against using colour as “the only visual means of conveying information, calling an action, prompting a response or distinguishing a visual element”. This is a general principle to follow, but design system documentation lets us explain how this relates to specific components. Take the GOV.UK Design System’s warning buttons. These are used for actions with serious, often destructive consequences that can’t easily be undone – like permanently deleting an account. The example doesn’t tell you this, but the guidance explains that you shouldn’t rely on the red colour of warning buttons to communicate that the button performs a serious action, since not all users will be able to see the colour or understand what it signifies. Instead, it says, “make sure the context and button text makes clear what will happen if the user selects it”. In this way, the colour is used as an enhancement for people who can interpret it, but it’s not necessary in order to understand it. Making the code in our examples and component packages as accessible as possible by default is really important, but written documentation like this lets us be much more explicit about how to design accessible services. 3. Lead by example In our design systems’ documentation, we’re telling people what good design looks like, so it’s really important that we practice what we preach. Design systems are usually for members of staff, rather than members of the public. But if we want to build an inclusive workplace, we need to hold them to the same standards and ensure they’re accessible to everyone who might need to use them – today and in the future. One of the ways we did this in my team, was by making sure the GOV.UK Design System supports users who need to customise the colours they use to browse the web. There are a range of different user needs for changing colours on the web. People who are sensitive to light, for instance, might find a white background too bright. And some users with dyslexia find certain colours easier to read than others. My colleague, Nick Colley, wrote about the work we did to ensure GOV.UK Design System’s components will work when users change colours on GOV.UK. To ensure we weren’t introducing barriers to our colleagues, we also made it possible to customise colours in the GOV.UK Design System website itself. Building this flexibility into our design system helps to support our colleagues who need it, but it also shows others that we’re committed to inclusion and removing barriers. 4. Teach it The examples I’ve drawn on here have mostly focused on design system documentation and tooling, but design systems are much bigger than that. In the fortuitously-timed “There is No Design System”, Jina reminds us that tooling is just one of the ways we systematise design: …it’s a lot of people-focused work: Reviewing. Advising. Organizing. Coordinating. Triaging. Educating. Supporting.” To make a design system successful, we can’t just build a set of components and hope they work. We have to actively help people find it, use it and contribute to it. That means we have to go out and talk about it. We have to support people in learning to use it and help new teams adopt it. These engagement activities and collaborative processes that sit around it can help to promote awareness of the why, not just the what. At GDS, we ran workshops on accessibility in the design system, getting people to browse various web pages using visual impairment simulation glasses to understand how visually impaired users might experience our content. By working closely with our systems’ users and contributors like this, we have an opportunity to bring them along on the journey of making something accessible. We can help them to test out their code and content and understand how they’ll work on different platforms, and how they might need to be adjusted to make sure they’re accessible. We can teach them what accessibility means in practice. These kinds of activities are invaluable in helping to promote accessible design thinking. And these kinds of lessons – when taught well – are disseminated as colleagues share knowledge with their teams, departments and the wider industry. What design systems can’t do Our industry’s excitement about design systems shows no signs of abating, and I’m excited about the opportunities it affords us to make accessible design the default, not an edge case. But I want to finish on a word about their limitations. While a design system can help to promote awareness of the need to be accessible, and how to design products and services that are, a design system can’t make an organisation fundamentally care about accessibility. Even with the help of a thoughtfully created design system, it’s still possible to make really inaccessible products if you’re not actively working to remove barriers. I feel lucky to have worked somewhere that prioritises accessibility. Thanks to the work of some really brilliant people, it’s just part of the fabric at GDS. (For more on that work and those brilliant people, I can’t think of a better place to start than my colleague Ollie Byford’s talk on inclusive forms.) I’m far from being an accessibility expert, but I can write about this because I’ve worked in an organisation where it’s always a central consideration. This shouldn’t be something to feel lucky about. It should be the default, but sadly we’re not there yet. Not even close. Earlier this year, Domino’s pizza was successfully sued by a blind customer after he was unable to order food on their website or mobile app, despite using screen-reading software. And in a recent study carried out by disability equality charity, Scope, 50% of respondents said that they had given up on buying a product because the website, app or in-store machine had accessibility issues. Legally, reputationally and most importantly, morally, we all have a duty to do better. To make sure our products and services are accessible to everyone. We can use design systems to help us on that journey, but they’re just one part of our toolkit. In the end, it’s about committing to the cause – doing the work to make things accessible. Because accessible design is good design. About the author Amy is a content specialist and design systems advocate who’s spent the last 3 years working as a Senior Content Designer at the Government Digital Service. In that time, she’s led the content strategy for the GOV.UK Design System, including a straightforward and inclusive approach to documentation. In January, Amy will continue her work in this space, in her new role as Product Manager for Babylon Health’s design system, DNA. More articles by Amy Full Article Process style-guides
ca Addiction debates : hot topics from policy to practice / Catherine Comiskey. By darius.uleth.ca Published On :: Thousand Oaks : SAGE Publishing, 2019 Full Article
ca Cigarette taxes and smoking among sexual minority adults [electronic resource] / Christopher Carpenter, Dario Sansone By darius.uleth.ca Published On :: Cambridge, Mass. : National Bureau of Economic Research, 2020 Full Article
ca The effects of e-cigarette taxes on e-cigarette prices and tobacco product sales [electronic resource] : evidence from retail panel data / Chad D. Cotti, Charles J. Courtemanche, Johanna Catherine Maclean, Erik T. Nesson, Michael F. Pesko, Nathan Tefft By darius.uleth.ca Published On :: Cambridge, Mass. : National Bureau of Economic Research, 2020 Full Article
ca Suburban Xanadu [electronic resource] : the Casino Resort on the Las Vegas Strip and Beyond By darius.uleth.ca Published On :: Hoboken : Taylor & Francis, 2003. Full Article
ca Vicious games [electronic resource] : capitalism and gambling / Rebecca Cassidy. By darius.uleth.ca Published On :: London : Pluto Press, 2020. Full Article
ca The moccasin game [electronic resource] / produced by the National Film Board of Canada. -- By darius.uleth.ca Published On :: Montreal : National Film Board of Canada, 1983. Full Article
ca The evolving consequences of OxyContin reforumulation on drug overdoses [electronic resource] / David Powell, Rosalie Liccardo Pacula By darius.uleth.ca Published On :: Cambridge, Mass. : National Bureau of Economic Research, 2020 Full Article
ca AMERICAN LEGION, ET AL. v. AMERICAN HUMANIST ASSN., ET AL.. Decided 06/20/2019 By www.law.cornell.edu Published On :: Thu, 20 Jun 2019 00:00:00 EDT Full Article
ca NORTH CAROLINA DEPT. OF REVENUE v. KAESTNER FAMILY TRUST. Decided 06/21/2019 By www.law.cornell.edu Published On :: Fri, 21 Jun 2019 00:00:00 EDT Full Article
ca RUCHO, ROBERT A., ET AL. v. COMMON CAUSE, ET AL.. Decided 06/27/2019 By www.law.cornell.edu Published On :: Thu, 27 Jun 2019 00:00:00 EDT Full Article
ca Leadership decapitation: strategic targeting of terrorist organizations / Jenna Jordan By library.mit.edu Published On :: Sun, 22 Mar 2020 07:44:49 EDT Dewey Library - HV6431.J674 2019 Full Article
ca Power to the people: how open technological innovation is arming tomorrow's terrorists / Audrey Kurth Cronin By library.mit.edu Published On :: Sun, 22 Mar 2020 07:44:49 EDT Dewey Library - U39.C76 2020 Full Article
ca Also serving time: Canada's provincial and territorial correctional officers / Rosemary Ricciardelli By library.mit.edu Published On :: Sun, 22 Mar 2020 07:44:49 EDT Dewey Library - HV9506.R53 2019 Full Article
ca Burn Boston burn: the story of the largest arson case in the history of the country / Wayne M. Miller By library.mit.edu Published On :: Sun, 22 Mar 2020 07:44:49 EDT Dewey Library - HV6638.5.M4 M55 2019 Full Article
ca The modern Republican Party in Florida / Peter Dunbar and Mike Haridopolos By library.mit.edu Published On :: Sun, 22 Mar 2020 07:44:49 EDT Dewey Library - JK2358.F5 D86 2019 Full Article
ca The Queen: the forgotten life behind an American myth / Josh Levin By library.mit.edu Published On :: Sun, 22 Mar 2020 07:44:49 EDT Dewey Library - HV6692.T39 L48 2019 Full Article
ca No visible bruises: what we don't know about domestic violence can kill us / Rachel Louise Snyder By library.mit.edu Published On :: Sun, 22 Mar 2020 07:44:49 EDT Dewey Library - HV6626.2.S59 2019 Full Article
ca Prisoners of politics: breaking the cycle of mass incarceration / Rachel Elise Barkow By library.mit.edu Published On :: Sun, 29 Mar 2020 07:44:51 EDT Online Resource Full Article
ca Homeland security and public safety: research, applications and standards / editors, Philip J. Mattson and Jennifer L. Marshall By library.mit.edu Published On :: Sun, 29 Mar 2020 07:44:51 EDT Barker Library - UA23.H538 2019 Full Article
ca Insurgency prewar preparation and intrastate conflict: Latin America and beyond / Joel J. Blaxland By library.mit.edu Published On :: Sun, 29 Mar 2020 07:44:51 EDT Online Resource Full Article
ca Arendt on the political / David Arndt, Saint Maryʹs College, California By library.mit.edu Published On :: Sun, 29 Mar 2020 07:44:51 EDT Dewey Library - JC251.A74 A83 2019 Full Article
ca Extreme reactions: radical right mobilization in Eastern Europe / Lenka Bustikova, Arizona State University By library.mit.edu Published On :: Sun, 29 Mar 2020 07:44:51 EDT Dewey Library - JC573.2.E852 B88 2020 Full Article
ca Territorial sovereignty: a philosophical exploration / Anna Stilz By library.mit.edu Published On :: Sun, 29 Mar 2020 07:44:51 EDT Dewey Library - JC327.S79 2019 Full Article
ca Assessment of the in-house laboratory independent research at the Army's Research, Development, and Engineering Centers / Army Research Program Review and Analysis Committee, Division on Engineering and Physical Sciences By library.mit.edu Published On :: Sun, 29 Mar 2020 07:44:51 EDT Online Resource Full Article
ca The suspect: an Olympic bombing, the FBI, the media, and Richard Jewell, the man caught in the middle / Kent Alexander & Kevin Salwen By library.mit.edu Published On :: Sun, 29 Mar 2020 07:44:51 EDT Dewey Library - HV8079.B62 A44 2019 Full Article
ca The lost soul of the American presidency: the decline into demagoguery and the prospects for renewal / Stephen F. Knott By library.mit.edu Published On :: Sun, 5 Apr 2020 07:47:23 EDT Dewey Library - JK511.K66 2019 Full Article
ca We are indivisible: a blueprint for democracy after Trump / Leah Greenberg and Ezra Levin ; [foreword by Marielena Hincapié] By library.mit.edu Published On :: Sun, 5 Apr 2020 07:47:23 EDT Dewey Library - JC423.G74 2019 Full Article
ca Learning one's native tongue: citizenship, contestation, and conflict in America / Tracy B. Strong By library.mit.edu Published On :: Sun, 5 Apr 2020 07:47:23 EDT Dewey Library - JK1759.S87 2019 Full Article
ca Militarization: a reader / Roberto J. González, Hugh Gusterson, Gustaaf Houtman, editors ; in collaboration with Catherine Besteman, Andrew Bickford, Catherine Lutz, Katherine T. McCaffrey, Austin Miller, David H. Price, David Vine By library.mit.edu Published On :: Sun, 5 Apr 2020 07:47:23 EDT Dewey Library - U21.2.M558 2019 Full Article
ca Mathematics to the rescue of democracy: what does voting mean and how can it be improved? / Paolo Serafini By library.mit.edu Published On :: Sun, 12 Apr 2020 09:49:18 EDT Online Resource Full Article
ca The Oxford handbook of modern British political history, 1800-2000 / edited by David Brown, Gordon Pentland, and Robert Crowcroft By library.mit.edu Published On :: Sun, 12 Apr 2020 09:49:18 EDT Online Resource Full Article
ca Soft target protection: theoretical basis and practical measures / edited by Ladislav Hofreiter, Viacheslav Berezutskyi, Lucia Figuli and Zuzana Zvaková By library.mit.edu Published On :: Sun, 12 Apr 2020 09:49:18 EDT Online Resource Full Article
ca The politics of recall elections Yanina Welp, Laurence Whitehead, editors By library.mit.edu Published On :: Sun, 12 Apr 2020 09:49:18 EDT Online Resource Full Article
ca Sovereignty in the south: intrusive regionalism in Africa, Latin America, and Southeast Asia / Brooke N. Coe By library.mit.edu Published On :: Sun, 12 Apr 2020 09:49:18 EDT Dewey Library - JC327.C59 2019 Full Article