For the past few weeks there has been lots of talk about HTML headings in web standards circles. Perhaps you’ve seen some of the blog posts, tweets, and GitHub issue threads. Headings have been part of HTML since the very first websites at CERN, so it might be surprising to find them controversial 25 years later. I’m going to quickly summarize why they are still worth discussing, with plenty of links to other sources, before adding my own opinions to the mix. If you’re up-to-date on the debate, you can jump straight to the „Bigger Dilemma” section.
The Story So Far…
HTML uses headings (<h1>, <h2>, <h3>, and so on until <h6>) to mark up titles for a subsequent section of text. The numbers (or levels) of the heading elements are supposed to logically correspond to a tree-like structure of nested sections, like books that have chapters with sections and sub-sections.
However, HTML markup did not originally have a way to reflect this nested logical structure in a nested DOM structure. Unlike nested lists, nested headings weren’t actually nested in elements that defined the parent sections. Heading elements of different levels were all sibling elements, and also siblings to the paragraphs they provide a title for. The „sections” were a purely logical structure, not a DOM structure, containing all markup that starts with a heading and continued until you reached another heading of the same or higher level.
As Brian Kardell points out, this made perfect sense in the „flat earth markup” of early HTML, where tags were just typographic instructions inserted into a flow of text. The concept of an HTML page as a tree structure came later, when so-called Dynamic HTML needed a document object model (DOM) to describe that flow of text and tags as a data structure that scripts could access.
Not to spoil the ending, but HTML now has a <section> element which can (optionally) be used to create a nested DOM structure to match your logical heading structure. The <main>, <header>, <footer>, <article>, <aside>, and <nav> elements all also help create a nested document structure that is reflected in DOM nesting.
But there was another problem with the originally heading model: it couldn’t easily be remixed in template systems. Because the heading level is expressed by the tag name (<h1> versus <h4>), rather than by the context in which it’s used, you can’t easily re-use the same content in a different context where the level would be different. For example, a blog might use the same set of article headlines and intro paragraphs in many contexts: as stand-alone blog post pages; as abstracts on a main index page; or as abstracts on an archive page which also has headings dividing the list by month or year. What heading level should the article title be?
Early proposals for sectioning elements also included a level-free <h> or <heading> element, that would be assigned a level based on context. (In fact, the idea goes back to the earliest discussions of HTML.) But when sectioning elements were finally added to HTML, they were designed to work with the existing heading elements. However, the specifications defined a „Document Outline Algorithm” which would re-calculate the heading levels for the existing numbered heading tags, based on section nesting.
With the Document Outline Algorithm, you could (theoretically) use an <h1> for all headings, and the browser would figure out the level of each heading based on its nesting within <article>, <section>, and related elements. The outline algorithm would ensure that the top heading in the page would be a level 1, and that all other headings would be nested in a consistent order, with no levels skipped. The WHATWG version of the outline also defines rules for dealing with multi-part headings in <hgroup> elements, so the sub-headings do not create sub-sections. (The W3C version of HTML 5 instead declared <hgroup> obsolete: multi-part headings should be marked up as paragraphs inside a section <header> or spans inside the main heading element.)
Browsers modified their default styles so that headings inside of nested sections would have progressively smaller font sizes (just like how the default style for <h3> has smaller font than <h2>, which is smaller than <h1>). But they didn’t change the way they exposed heading levels to the accessibility APIs that are used by screen readers. And screen-reader users are the only ones who really experience heading levels as part of the user interface.
Screen readers announce the numbered level when reading headings, and they allow users to quickly scan through headings of a given level. According to a WebAIM survey, two-thirds of screen-reader users scan headings as the first step of trying to find information on a long web page. For these users, the only effect of the Document Outline Algorithm was that some new pages (eagerly adopting the new spec) were presented as flat lists of level-one headings, with no structure at all.
Why won’t browsers use the outline algorithm for accessible heading levels? Many arguments have been made, but the most compelling one is that it could alter the way existing web sites are presented to screen-reader users, and it’s not clear that those alterations would mostly be positive.
Adrian Roselli has compiled a good overview of the discussions about the problems caused by the unimplemented outline specification, in „There is No Document Outline”. The latest W3C HTML specs only use the document outline algorithm to suggest how authors should synchronize their numbered heading tags with their nested sectioning elements. The WHATWG HTML specs still have the full outline algorithm described as a normative requirement, although there is an open issue where many suggest removing it altogether. As WHATWG spec editor Domenic Denicola puts it:
At some point we cannot claim that user agents are broken. They are instead rejecting our change request.
The Current Debate
The latest flurry of debate was sparked when Jonathan Neal filed an issue on the W3C HTML spec re-proposing the elusive <h> element. The key to the proposal is that an <h> heading element could have a nesting level defined by sectioning elements, while still allowing the existing numbered heading tags to have the level determined by their tag name. Authors would opt in to the outline algorithm by using the new tag. Until browsers supported <h>, a JavaScript (or server-side) polyfill could calculate the heading levels and add them into the DOM with ARIA attributes: role="heading" and aria-level="3" tell the browser to treat an element as a level-3 heading for accessibility purposes, regardless of tag name or nesting, so the page author ends up fully responsible for any heading confusion.
The work needed to fix the existing web is a subset of creating a new element that does the same thing, but doesn’t fix the existing web.
In other words, if the outline algorithm is so great that it’s worth a new element, why not just implement the outline algorithm for existing elements instead?
There is a hidden assumption below all the discussion of how to create a document outline for a web page. Discussing how to create the document outline assumes that the structure of a web page can be defined as an outline: as a tree where the nesting level of a heading defines its importance.
I personally don’t think a simple nested outline can capture all the levels of meaning that are conveyed by HTML heading levels, as they are used on the web. I’ll get to why in a bit. But there’s a reason that all the discussion has focused on this type of outline: because this is the type of outline screen readers expect.
For most web users, and web authors, the document outline is irrelevant. They do not know and do not care how the headings and sections are nested, they only see what’s on the screen. And what’s on the screen, in most web pages today, is a two-dimensional layout of content, some of it nested, but some of it independent, with each part given implied importance and relationships by layout, colors, and typography.
So, the question we should be debating isn’t „How should we assign outline levels to headings?” It’s: „How can we summarize the meaningful structure of a web page, so that people using assistive technology can easily find content?”
I’d personally love it if browsers added a feature, for all users, to show the outline as a table of contents, and make it possible to quickly navigate to headings with the keyboard. Maybe if they did, more web authors would pay attention to what their outline looked like. But the browsers don’t, and so most authors don’t.
If you do want to see what your website’s heading outline looks like—and how it would theoretically look like using the document outline algorithm—you can use the W3C Nu HTML validator service, with the Show Outlines option checked.
As it currently stands, the document outline is only of daily importance to screen-reader users, and those users are currently used to dealing with the mess of erratic heading levels in web pages. I’m sure many screen-reader users would appreciate heading levels being fixed. But fixing headings for screen-reader users doesn’t just mean creating a tree of neatly nested headings with no skipped level numbers. It means creating a heading structure that accurately reflects the meaning intended by the creators of the web page, the meaning that visual users infer from style and layout. And in order to do that, we need to consider how meaning is communicated to all the users of web pages who aren’t hearing each heading announced with a numerical level.
A Language is Defined by Those Who Speak It
HTML is unique among computer code languages, because it defines so many constructs without assigning them specific behavior. Meaning in computer code is known as the semantic side of the language, as opposed to the syntactic structures of its grammar. But in most programming languages, the semantic aspects of built-in objects are still strongly tied to instructions for the computer. In JavaScript, new Date() and new Promise() have the same syntax—calling a constructor function—but your JS interpreter understands the semantic distinction between the two object names, and behaves very differently for each.
In contrast, an HTML <article> or a <section> doesn’t come with any instructions for what your web browser should do with it (other than the un-implemented outline algorithm). Instead, the difference between the two is all about the meaning of the content, a way to provide machine-readable annotations for the information communicated from one human being, the website author, to another: the reader.
Meaning in human communication is difficult to define, and never static. But most importantly of all, it is defined by the people who use the language. Dictionaries compile summaries of the meanings that are used, but they don’t restrict them. If people start using words in new and different ways, the dictionary (if it’s any good) will update their definitions.
When I was in grade school, a librarian showed off the multi-volume Oxford English Dictionary by introducing us to a selection of wild and crazy words. Google* was the name for the number that would be written as a 1 followed by 100 zeros (10100, in scientific notation). Crazy, right? Who would ever need to know a word like that? But times change. In 2006, the OED added a new definition, google as a verb (meaning to use the Google search engine), which might be used a google times more often than the number quantity in modern English conversation.
*Correction: As Mark notes in the comments, the correct spelling of the word I was shown all those years ago is actually googol. And now I don’t know what to believe anymore.
When it comes to the meaning of HTML tags, the equivalent of dictionaries are the two competing HTML specifications (WHATWG and W3C). And just like dictionaries, they both started out as efforts to describe the language as it was currently used.
The fact that there are two different HTML specifications make discussing changes more difficult, but it also strongly highlights the collective, consensus-based nature of HTML as a language. There is no one defining document setting the rules for HTML. HTML is defined by the people who write it and by the web browsers that interpret it.
But it’s not that simple, of course. HTML isn’t only used by human beings, it is also used by computers. And computers aren’t very good about handling fuzzy and shifting meaning.
Whenever you ask a computer to do something with your content—like, for example, tell the screen reader what headings there are in this website and how they are organized—it needs clear and explicit rules for how to do so. If some web authors are using heading tags in one way, and some authors are using the same tags with different meaning, your browser is going to need additional rules to figure out which is which—or else it’s going to get it wrong, at least some of the time.
The driving force of the web standards movement was a hope that all web browsers would react to web page code in (approximately) the same way. And that means defining new features in standards documents before they can be used on the web. Instead of being descriptive, like a dictionary (defining how things are), they are prescriptive, like a legal code (defining how things should be).
The slow pace of developing standards, with lots of input from browser teams, is supposed to ensure that the end result is both prescriptive and descriptive, at least for the parts of the language that describe browser behavior. But it doesn’t always work. There are lots of details in both specs that don’t match actual browser behavior. The W3C’s issue repo even has a comfortingly-named Match Reality Better label aimed at fixing these bits.
And that’s just for the features that describe what browsers should do. What about all the HTML elements that define the semantics of content? Shouldn’t those „match reality better,” too?
A few months ago Sara Soueidan suggested to the W3C HTML working group that maybe the <address> element should be valid for all addresses (and not just page-owner contact addresses). Many people before her have certainly made the same complaint. But this time, something happened. Following a little rough data scraping, which suggested that actual usage in the wild wasn’t restricted to the original definition, the definition in the W3C specs was updated.
Does it make any difference? Maybe not. Browsers don’t do anything with <address> except make it italic. And the WHATWG HTML specs still have the old definition. But it means the spec comes a little closer to describing the way code is actually used on the web, not how someone once imagined it might be.
Which brings us back, at last, to headings: How are they actually used on the web? And is it even possible to define a prescriptive set of instructions, for web authors and for web browsers, that ensure that the meaning of headings can be correctly communicated to screen readers (and potentially, other software)?
The Many Meanings of Headings
What is a heading? It’s a short title for a section of a document. The heading for this section is „The Many Meanings of Headings.” So far, so good.
But all headings are not created equal.
There are big headings:
A Big Heading
and there are much smaller headings:
A heading so small it’s barely a heading
If you inspect the code, you’ll see that one of those is an <h1> and the other is an <h6>. Both of them are wrapped in <figure> tags, which—according to the document outline algorithm—should encapsulate them and keep them from messing up the main document outline. But we all know by now that the document outline algorithm isn’t actually used by web browsers, so apologies to any screen reader users who ended up halfway down the article by mistake.
For anyone reading this article with their eyes in a modern browser, the difference between the two headings is communicated by the font size, and possibly the font style. The exact details will depend on whether you’re looking at the website’s CSS or your browser’s reading mode CSS, and on how recently Chris has changed CSS-Tricks’ styles. But unless Chris has really messed things up, it will be pretty clear to visual readers that the <h1> is bigger and more important than the <h6>. We could change the CSS so they looked identical, but at this point it is hard to understand why you would want to do that. If you wanted them to look the same, why not use the same tag name?
So let’s go a step further, and put those two headings together with some filler text in between. Here’s one way we could do that, with a main heading, some text, then a sub-heading and some more text:
If you’re only looking at the result tab of those pens, and using your eyes to do so, you might be forgiven for thinking the second and the third are identical, and very different from the first. Visually, both example #2 and example #3 have a main section with a big heading and a sidebar section with a minor heading. The difference is that one uses <div> elements to create the structure and the other uses HTML sectioning elements.
If you’ve read this far, you probably won’t be too surprised to discover that these two examples create different structures when processed by the HTML document outline algorithm. Under that algorithm, divs are ignored, so Example #2 would be treated the exact same as example #1: a main heading, some paragraph text, then a sub-heading and another paragraph. The outline does not indicate at all that the sidebar is a separate, parallel structure to the main article:
A big heading
A heading so small it’s barely a heading
In contrast, if I run the outline algorithm on Example #3, It tells me that there is an unlabelled main document (no top-level heading), with two equal sibling child elements (both headings treated as level-2). So now it clearly conveys the parallel structure, but not the difference in heading importance:
[body element with no heading]
A big heading
A heading so small it’s barely a heading
I don’t think either of these outlines accurately describes that visual layout. Neither does the outline based on tag names, which not only treats the sidebar as nested in the main article, but also gets distracted by my use of <h6> in a page without any <h2/3/4/5> elements.
If I was asked to describe this layout to someone, I would tell them two things:
there are two, side-by-side sections;
one of those sections is more important than the other.
The relative importance of the components is a separate piece of information from the nesting structure—or lack thereof, in this simple example. In a more complex example, you’ll have some chunks of content with meaningful nested headings (like this article), and other chunks (like the sidebars, or the comment section below) that have parallel, independent outlines whose inner heading levels are un-related to the ones in the first chunk. Treating each parallel chunk as equal ignores the relative importance they were given in the markup. But tacking those extra headings onto the end of the main article, just because there isn’t a bigger heading in between, seems somehow worse.
Even when components are nested, they often have an importance level that is independent of the number of sections that surround them. I write books on SVG for O’Reilly. The markup we use to create the books is converted to HTML. The book (level-1 heading) has chapters (level-2 headings) with sections (level-3 headings) that sometimes have sub-sections or even sub-sub-sections (level-4 and 5). But it also has examples, and warning notes, and sidebars, all of which can have their own headings which will be styled identically irrespective of whether that component is in a regular section or a sub-sub-section. If we used the “correct” HTML heading elements, they would have different tag names, depending on the section depth, but would be styled identically.
In web design and in content management, we have two very different ways of talking about the level of a heading: the level of importance, or the level of nesting. I think that the main reason web standards folks can’t agree on an algorithm for turning headings into an outline is because people want an algorithm in which both agree, and they often don’t.
Maybe what’s really needed is to stop talking about outlines as if they re-number heading importance levels. Stop telling web developers they are wrong for using the heading levels that make sense for their content. Let context define the outline nesting, but don’t define outline nesting as if it was interchangeable with tag names. Ideally, find a way for browsers to communicate to screen readers both the nested structure of sections and the raw heading-level numbers, so the screen readers can let their users navigate by nesting structure, while still communicating the relative importance of each heading.
Then focus on the real question:
How can we summarize the meaningful structure of a web page, so that people using assistive technology can easily find content?
My instinct is that the outline that uses sectioning elements is usually better for navigation than sections based only on tag names, but that the details need to be improved. In particular:
There need to be better rules for collapsing un-named sections, maybe treating them as ARIA groups instead of as additional nesting levels in the outline.
There may need to be better rules for handling multi-part headings grouped by an <hgroup> or <header> element.
And there probably need to be better rules about which elements (if any) encapsulate their child headings from the main outline altogether.
Show Me the Data
But that’s just my opinion.
In order to get browsers or screen-readers to change their behavior—let alone to convince all the hundreds of thousands of web developers who are using headings in their content—we are going to need more than hunches and opinions. As I argued early on, we need some data. Both Jake and Brian have echoed that call.
But the kind of data we need isn’t the kind that can be collected by a web crawler. We need data about meaning, the kind of meaning that only real human brains can provide.
The HTML sectioning elements have been around for years now. They aren’t theoretical anymore. They are part of the language that you, web developers, use to communicate. If you’re using sectioning elements, hopefully you have a reason why. When you select a heading tag, hopefully you have a reason why. It’s time to review the HTML standards to make sure they reflect the reasons and meaning used by most developers.
How do I master color? It’s a question all artists ask themselves throughout their careers. And knowing how to challenge yourself is the first step to your answer. So in this tutorial, we’ll be exploring a unique technique of using rich, vibrant colors to paint a portrait in Adobe Photoshop.
Love digital painting? Browse the amazing selection of Adobe Photoshop Brushes from GraphicRiver to find brushes like the ones used in this tutorial. Or enlist the help of the talented folks at Envato Studio for custom digital portraits.
Tutorial Assets
The following assets were used in the production of this tutorial:
Here is the Woman Stock I’ll be using for this portrait.
Now take a look at this before and after comparison of the reference next to the final painting. Notice how the colors aren’t the same?
For this painting I was inspired by traditional artists who paint portraits with colors not normally found in their references. A quick search on Google will pull up tons of colorful portraits using bold, vibrant colors to replace the ones usually representing skin, hair, and other normal details.
So to achieve something similar I’ll need to edit the color scheme of the original reference to match one that I prefer instead.
Step 2
Open your reference into Photoshop. We’ll need to use several Adjustment Layers to switch up the color scheme and lighting. First go to Layer > New Adjustment Layer > Hue and Saturation, and edit the settings as follows:
For this painting I wanted the colors to be very rich in purple, red, and blue hues, so I switched up the color scheme by applying a New Adjustment Layer of Color Lookup with the following settings:
3D LUT File: Late Sunset.3DL
Step 3
Although I was immediately excited by this change, I wanted to push the colors even further. So I added three more Adjustment Layers.
First add a New Adjustment Layer for Curves, altering the curve for the Green Channel.
Follow up with another New Curves Adjustment Layer, this time altering the curves for the Blue, Red, and Green Channels. The settings might look a little crazy, but this helps to achieve a unique color effect.
Finally, I’ll finish with a New Adjustment Layer for Color Balance. Bring out more hue and purple tones by altering the settings for the Shadows, Midtones, and Highlights.
Here is the final reference below. The colors are overly saturated so that I can make out areas that are different colors, like blue or purple. This will make for an interesting starter reference to my color palette. And although we’ve changed the color scheme completely, the rich colors and tones still indicate that the painting will be of an African-American woman.
The reference before and after color adjustments.
2. How to Sketch the Portrait
Step 1
Now that we understand which colors we want to use, we can move on to sketching the portrait. You may notice that the model’s body language in the final painting is a little different. That is because I also referenced a second version of this picture where I found the model’s head in a much more coy position.
Create a New Document at 1717 x 2656 pixels at 150 dpi (the standard is 300, but I like a smaller file size). I always start with the Hard Round Pressure Opacity Brush at 100%Hardness to begin laying down the skeleton of my sketch.
At this stage, the details aren’t important. Just get the body position down and draw some quick guidelines for the position of the eyes, lips, and nose on a New Layer. Feel free to use any color you’d like—I chose a nice purple.
Now lowerthe Opacity of the rough sketch and guidelines to around 30%. Create a New Layer and use a smaller brush to draw a much cleaner sketch with all the details you need. Be as meticulous as you can about the clarity of each detail to avoid messing your painting up in the future.
It helps if you start with the face and body.
The evolution of this sketch. Start with simpler details first.
Then move on to additional details like her bold necklace on another New Layer. Here is the final sketch of our subject. Feel free to Delete the guidelines layer when you’re through.
Step 2
Before we move on to the actual painting, we need to figure out the background. Just like the original reference, I love the geometric details of the pattern behind our subject. So to achieve a similar result, I’ll create my own background using the Custom Shape Tool (U).
First select the Custom Shape Tool (U). To make sure you can browse all the shapes available, go to the drop-down menu and select All. When you’re prompted to replace or append, select Append.
Now select the diamond shape from the list. Create one large purple diamond with the color #4b3862 on the same document.
Step 3
Now Control-J to Duplicate the diamond layer several times, stacking the diamonds on top of one another to create a single row. Select all the shape layers and Right-click to go to Merge Shapes. Then Control-J to Duplicate the merged row several times to create a pattern for the background. There will be seven rows total.
Again, Merge the shapes together. Position the background so that there is generally a good sense of balance in the portrait. Now create a New Layer and use the PolygonalLasso Tool (L) to create a Selection around your subject. Fill the selection with white and set it as a Clipping Mask to the diamond background. Separating the layers like this will allow you to paint details without the diamonds affecting the face.
When you’re finished, the final sketch should look like this:
4. How to Paint the Base Colors
Step 1
Now let’s move on to the painting! Create a Duplicate of that masked white layer from the last step and use it as the base for the face layer. Set the Blending Mode for the sketch to Soft Light, and then select the Paint Bucket Tool (G) and fill the face layer with a cranberry color #883640. Use the same color to fill the background as well.
Step 2
For this painting I’ll be mainly using the Hard Round Pressure OpacityBrush and the Dry Brush 20 Pixels available under the Natural Brushes 2 option.
With the Dry Brush selected, paint a bright golden color #c66333 on two New Layers set to Clipping Masks to the background and face base.
With your reference close by for help, try to establish the shadows next.
Each time that you’re experimenting with a new color, create a New Layer. Here I’ll be painting this deep magenta color#520525onto both the background and the subject.
Continue to paint more shadows. Paint black for the shirt and hair, and start to incorporate blue and purple tones into the painting to represent the shadows as well.
Step 3
As you start painting more details, especially for the face, switch over to a Soft Round Brush to begin smoothing out the skin. Don’t forget to paint the base colors for the necklace as well.
5. How to Tweak the Colors
Step 1
Digital paintings that are heavily reliant on experimentation like this, often need Adjustment Layers to tweak the color scheme before you proceed. And since the painting currently looks dark and overly saturated with red, we’ll need to brighten it up a bit.
Start with a New Adjustment Layer for Curves. Adjust the curves forthe RGB, Red, Green, and Blue Channels as follows:
Step 2
Next, add a New Adjustment Layer for Color Balance. Tweak the settings for the Shadows,Midtones, and Highlights like the ones below.
The effect I’m trying to go for here is to have rich, red, magenta, and blueish colors to represent the shadows. On the opposite side of the spectrum, vibrant colors like gold and yellow will represent the midtones and highlights.
Step 3
We’re not quite through with the color tweaking just yet. Let’s add one more NewAdjustment Layer for Curves. This time we need to concentrate on making the scene brighter, so for the RGB, Blue,and Green Channels, add the following curves.
6. How to Paint the Portrait Details
Step 1
If I’m not sure about a color scheme, I’ll continue using Adjustment Layers to tweak the colors until it looks closer to what I need. So now that the colors work well together, we can move on to painting the rest of the portrait.
Switch over to the Hard Round Pressure Opacity Brush. With an 80-100% Hardness, begin painting cleaner details for the necklace and face. Try to avoid blurry edges as much as possible as you continue to detail this portrait.
Step 2
Create a New Layer and change the Blend Mode to Linear Dodge (Add). Use the Eyedropper Tool (I) to select areas of skin and body as the Foreground Color. Use that sampled color to paint highlights automatically created because of the Blend Mode.
Instantly the face should look more three-dimensional and vibrant. Need help understanding this step? Check out my tutorial on How to Shade Easily With Layer Blend Modes.
Step 3
Continue using a Hard Round Brush to clean up your edges. The only way to make sure your details get cleaner is to use a smaller Brush Size and to Zoom in to your portrait.
Start to incorporate random strokes of green, blue, and red to make your subject more dynamic.
Step 4
Time to create some texture! You can create texture two ways: either by hand or with a special brush. Here, I used the Rolled Rag Brush loaded from the Faux Finish Brushes in your tool menu. I also took a regular Hard Round Brush and painted tiny dots to represent pores and shine.
Step 5
You can still incorporate Adjustment Layers into your painting no matter which step you’re currently on. Here I’ll use a quick Levels layer to bring more blue out of the painting using the following settings for the RGB and Blue Channels below:
Here is the result after these changes. The painting is really starting to pop with color!
Step 6
As you get a better handle on your color scheme, you become more confident with hammering in the final details. Zoom in to the face, body, and necklace to carve clean lines and shapes with a Hard Round Brush. For the cleanest edges possible, make sure that the Pen Pressure Sensitivity and Transfer option is not selected within the Brush panel.
Study the shine in your model’s face and feel free to exaggerate it in the painting. Even though I’m using other colors to represent the shadows and midtones, I still use colors close to white for the highlights.
The most tedious part of this painting is the necklace. Not only are there so many components to it, but they also need their own attention and love. Clean up the lines with a Hard Round Brush and experiment with pops of color for extra pizazz.
Here is a quick comparison of the necklace from the start of the detailing process until now.
Remember, digital realism has a lot to do with mimicking environmental color. So make sure the necklace has pops of green, blue, and purple for where other details may shadow or reflect onto those pieces.
7. How to Create Depth of Field
For the final step of this painting, I’ll address the background pattern one last time. One technique that is a popular trend among digital artists today is the use of depth of field for portraits.
So to create depth of field, we’ll need to apply a Gaussian Blur. First, select the diamond shape layer as well as the white mask that’s been clipped to it. Merge both layers together.
Then select the merged layer and go to Filter > Blur > Gaussian Blur, adding a Radius of 9.2 pixels before hitting OK. Apply this effect on the diamond layer only.
And that’s it! This effect will instantly make your paintings look more realistic and three-dimensional. Check out the final painting below.
Awesome Work, You’re Done!
I hope this tutorial inspires you to take more risks with your digital paintings.
By changing the color scheme for the original photo, we’re able to create a reliable example for which colors work best for this portrait. Not only does this allow us to plan more effectively, but it also gives us more free rein when experimenting later down the line.
Good luck with your painting, and feel free to leave me any questions in the comments below!
Post pobrano z: A SpaceX rebrand designed by a graphic design student It’s a bit hard to admit when you are a seasoned graphic design professional, but from time to time design students do much better work than older designers. This rebranding of SpaceX by Yuma Naito is an excellent example of this. This school project could easily be used in real life conditions by SpaceX, and […]
Everybody has their own way of relaxing and enjoying their life. One of
my favorite times of the day is taking a sip of morning coffee—this is
pretty much the only time when I can sit back and read some books
because once that time’s over, I’m in my Wonder Woman gear trying to get
everything done.
In this tutorial, I want to share this special
moment by illustrating a lady who is relaxing with her coffee. While
creating this illustration, you’ll learn to manipulate shapes and also
get acquainted with the Width Tool, which I haven’t used before in my
previous tutorials. As usual, we will use basic shapes and the Warp Effect.
Why don’t you browse through GraphicRiver and find more characters? Maybe you will decide to make another hair style or even clothes, who knows…
1. How to Create the Head
Step 1
After
opening the Adobe Illustrator, create a new document with 850 x 850 px
Width and Height. We’ll begin by illustrating the head.
Using
the Ellipse Tool (L), draw an oval. In the image below, you can see
which fill color you need. To give the head an irregular shape, go to Effect > Warp > Inflate. Enter the options you see below.
Step 2
Let’s
start by drawing the top part of the hair. Draw two cream ovals with
the Ellipse Tool (L). Take the Direct Selection Tool (A) and move the
handles of the anchor points to create the shape you want.
Step 3
To
create long hair, make another cream oval and change its shape: go to Effect > Warp > Inflate. Enter the options shown below. Be sure
to place this oval behind the head (Control-C, Control-B).
Step 4
Let’s
make a hair band. Create two more circles by using the Ellipse Tool
(L), and make them overlap as in the image below. Go to the
Pathfinder panel and press the Minus Front button.
Step 5
Place this hair band on the hair.
Now
we will add the ears. Make another small oval and rotate it to the
left. Place this ear on the left side of the head. While keeping the
left ear selected, right-click your mouse and select Transform >
Reflect. Once you get a dialogue box, select Axis Vertical, Angle 90 degrees, and press Copy. Move the new ear to the right.
Step 6
For
the dreamy, relaxed eyes, create an oval. Then grab the Scissors Tool
(C) and click on the left and right sides of the ellipse. Delete the
upper part of the ellipse by pressing the Delete button on your
keyboard. You should be left with an arc. Increase the stroke Weight and
check Round Cap on the Stroke panel.
To add the eyelashes, make a copy
of this arc, decrease the stroke weight, and attach it to the left corner
of the larger arc. Make another copy of this small arc. Our romantic
eye is ready.
Step 7
Place the left eye on the face and
create the right eye. Right-click your mouse and select Transform >
Reflect. Once you get a dialogue box, select Axis Vertical, Angle 90
degrees, and press Copy. Move the new eye to the right.
Step 8
Now
the lips. Let’s create a little matte red ellipse and by using the Convert Anchor Point Tool (Shift-C), make the left and right anchor
points sharp by clicking them. After that, select those two anchor
points again (with the Direct Selection Tool (A)) and move them up by
pressing the Up Arrow on your keyboard.
For the upper lip,
create another small red ellipse. Select the top and bottom anchor points
with the Direct Selection Tool (A)) and move to the right by pressing
the Right Arrow on your keyboard. Make a reflected copy of this shape:
right-click your mouse and select Transform > Reflect. In the
dialogue box, select Axis Vertical, Angle 90 degrees, and hit Copy. Move
this copy to the right. The lips are ready.
(Note: You don’t need the
black strokes—it’s just to show you the shape and the placement).
Place the lips on the face.
Step 9
Let’s give the lady a pair of glasses.
Create
an oval with a dark gray stroke color and no fill. To create the shape
shown below, move the handles of the anchor points by using the Direct
Selection Tool (A). Add a line from the left side of this shape using
the Line Segment Tool (\).
Then create the right part of the glasses, just as we’ve been doing in the previous steps: right-click, Transform > Reflect. In the dialogue box, select Axis
Vertical, Angle 90 degrees, and hit Copy. Move this copy to the right.
Use the Arc Tool to make the middle part of the glasses and attach the
lenses together. An elegant pair of glasses is ready. You can play with
the shape of the frames to create a unique pair of glasses you
like.
Now place the pair of glasses on the face.
2. How to Create the Body
Step 1
Let’s
start by creating the neck and the shoulders. For the neck, create a
rectangle using the Rectangle Tool (M) and attach it to the head. After
that, create a horizontal oval (use the Ellipse Tool (L)) and attach it
to the neck.
Step 2
In this step, we will create the lady’s
body. Using the Rounded Rectangle Tool, create a gray rounded rectangle.
Let’s modify the bottom part of this shape. We’ll use the Fish effect:
go to Effect > Warp > Fish and enter the options below.
Step 3
To
create the arms, we will start with an arc. First, delete the fill
color and set the stroke color similar to the body color. Check Round Cap on the Stroke panel and make the Weight of this stroke very
thick. Now, using the Arc Tool, draw the woman’s arms. Move the handles
of the anchor points to achieve the result you need.
Step 4
Let’s continue drawing the arms.
Using the Line Segment Tool (/), create the lower part of the right arm. Then using the Arc Tool, create the left arm.
Now
we will modify these shapes so that this part is a bit thinner than the upper
arm. Select the Width Tool (Shift-W) and when you place the mouse over
the woman’s wrist, you will see new handles. If you move these
handles outside the line, the width of the line will increase on one
end. If you move anchor points inside the line, the width will decrease.
So go ahead and make the arms a little thinner around the wrist area.
Step 5
For the hands, we will use two ovals, which will be modified by manipulating
their handles. Remember to delete the stroke color and set the fill
color.
Here’s a closer look at the handle positions for the lady’s right hand.
Step 6
Now
we will create the cup. Pick the Rectangle Tool (M) and create a
rectangle. Keep it selected and go to Effect > Warp > Bulge.
Adjust the options as shown in the image below. Remove the fill color
and make the same stroke. Increase the stroke on the Stroke panel and
draw a circle (for a nice round circle you need to hold down the Shift key). That’s the handle.
Place the cup under the lady’s right hand, but over the body.
3. How to Create the Hips and Legs
Step 1
Using
the Ellipse Tool (L), make an oval and attach it to the bottom part of
the body. Using the Direct Selection Tool (A), move both side anchor
points down. That’s the hips.
Step 2
Let’s make the legs.
Grab
the Line Segment Tool (\), and draw two vertical lines. To get a straight
line, hold the Shift key as you draw the line. Remember to remove
the fill color and choose the same stroke color as the skin color.
Before drawing, be sure to check the Round Cap button on the Stroke panel and adjust the appropriate Weight of the stroke. To change the
thickness of the legs, select the Width Tool (Shift-W) and move the handles to make the upper part of the leg thicker and the bottom
ankle part a bit thinner.
Step 3
For the shoes, draw an oval
with the Ellipse Tool (L) and place it behind the leg. Using the Direct
Selection Tool (A), move the handles of the oval to create the shape
which will look like a shoe. Feel free to design your favorite shoes!
4. How to Create the Background and the Table
Step 1
Create a light blue square behind the woman, 850 px Width and Height, by using the Rectangle Tool (M).
Step 2
For the table top, add a white rounded rectangle by using the Rounded Rectangle Tool.
Step 3
Add two vertical rectangles by using the Rectangle Tool (M), for the table legs.
Step 4
For
the table decoration, add two spirals next to the table legs by using
the Spiral Tool. If you don’t see this tool, hold the Line Segment Tool
(\) for a few seconds, and a pop-up menu will appear—then you can select the
Spiral Tool.
Click on your artboard and a new dialogue window
will appear, asking you about the Radius of your spiral, Decay and Segments.
I recommend playing with different Decay and Segments to find out what
you like the most. Select the Round Cap button on the Stroke panel and
adjust the appropriate stroke Weight for this spiral. Create one spiral
and make another vertical copy of it.
5. How to Create the Chair
Step 1
For the seat of the chair, create a rounded rectangle using the Rounded Rectangle Tool.
Step 2
For
the back of the chair, create an oval with no fill and white stroke by
using the Ellipse Tool (L). Place this oval behind the table and the
lady. Slightly modify the oval shape by moving up its bottom anchor
point.
Step 3
To add the chair legs, create a vertical
rectangle using the Rectangle Tool (M) and a horizontal rounded rectangle
with the Rounded Rectangle Tool.
Step 4
To decorate the
chair, add two spirals on the bottom part of the chair’s leg. Create one
spiral by using the Spiral Tool and make a vertical copy with the
Reflect Tool (O).
Awesome Work, You’re Done!
We are done! Great job! I
hope you’ve enjoyed the process of illustrating using Adobe
Illustrator and learned some new tips and tricks, which you can use in
the future! Now it’s time to relax and grab a cup of coffee. Enjoy, have
fun, and don’t forget to share your art with us!
GM brand Cadillac has run four commercials in association with the 89th Academy Awards, “Carry”, “Pioneers” and “Pedestal”. The Cadillac Carry commercial, one of the most talked about Oscars ad, focuses on an America with a shared commitment to carry one another, despite differences. “We are a nation divided. That’s what they tell us, right? This chasm between us. But what they don’t tell you, what doesn’t make the news, is this. Maybe what we carry isn’t just people, it’s an idea, that while we’re not the same, we can be one, and all it takes is the willingness to dare.” Footage of protests, rescues and community celebrations is presented alongside historical shots of Muhammad Ali, Marilyn Monroe and Dwight Eisenhower and classic Cadillac models.
One ad, called “Pedestal,” features the Escala concept car. Another ad called “Pioneers” spotlights technology used in Cadillac vehicles. A fourth ad is dedicated to the CTS-V.
Cadillac Carry Credits
The Cadillac Carry commercial was developed at Publicis New York by chief creative officer Andy Bird, executive creative director John Kenney, chief production officer Lisa Bifulco, executive producer Anthony Garetti, producer Justine Palivoda, chief executive officer Carla Serrano, managing director Adam Hunt, strategy directors Ben Zumsteg and Patrick White, music supervisor Rachel Rauch, group account director Emily Shahady and account director James Bundy.
Editor was Jay Rabinowitz at Lost Planet with executive producer Krystn Wagenberg and producer Felix Cabrera.
Visual effects were produced at Black Hole. Colorist was Tom Poole at Company 3.
Sound was produced at Sound Lounge. Music is “Climb” from the score of “The Mission”, by Ennio Morricone.
Further Credits
Pedestal and Pioneers were developed at Rokkan by chief creative officer Brian Carley, associate creative director Noel Nickol, creative directors Billy Veasey, Bill Carlson, Mario Stipinovich, senior art director Steff Wilson. Production was by Independent Media.
Pixar’s film, “Piper” has won the Oscar for Animated Short Film at the Academy Awards. Released in tandem with the animated feature film Finding Dory, “Piper” tells the story of a hungry baby seabird overcoming fear of water. Animation director Alan Barillaro found his inspiration for the short film as he jogged along the beach near Pixar Studios. He observed birds fleeing from the incoming waves but returning immediately to find their food. In “Piper” the baby sanderling is inspired by hermit crabs who dig into the sand to find food in the deeper water. The six minute film was developed over three years, with animation informed by regular visits to beaches in San Francisco Bay and Monterey Bay Aquarium. Macro photography and special effects software were combined to recreate sand, waves and feathers with a new level of accuracy in lighting and movement.
Credits
Piper was produced at Pixar by director/writer Alan Barillaro, producer Marc Sondheimer, director of photography Erik Smitt and Derek Williams, executive producers John Laseter and Andrew Stanton, production managers Sarah K Reimers and Richmond Horine, storyboard artists Rejean Bourdages and Enrico Casarosa, Tony Maki, Tony Rosenast and Rosanna Sullivan, head of story Brian Larsen, layout artists Colin Levy and Charlie Ramos, animation coordinator Samantha Jane Samuels, animators Dovi Anderson, Evan Bonifacio, James W. Brown, Simon Christen, Claudio de Oliveira, Graham Finley, Rob Gibbs, Joey Gilbreath, Catherine Hicks, Patty Kihm, Erick Oh, Bret ‘Brook’ Parker, Alli Sadegiani, Tal Shwarzman, Ricky Wight, Kureha Yokoo, sets shading artist Tracy Lee Church, effects artists Shaun Galinak and Sarah Beth Eisinger, digital artist Andrew Jimenez, visual effects artists David Lipton and Andrew Wheeler, FX technical director Leon JeongWook Park, character shading and grooming artist Kiki Mei Kee Poh, VFX supervisor Ferdi Scheepers, sets support Andrew Schmidt, effects animation technical director Vincent Serritella, colourist Susan Brunig, rendering supervisor Reid Sandros, title designer Laura Meyer, supervising technical director Brett Levin, technical developer Brandon Wang.
Sound was produced by sound designer Ren Klyce, production sound designer Samuel Lehmer and foley mixer Scott Curtis.
Music was by Adrian Belew.
Agregator najlepszych postów o designie, webdesignie, cssie i Internecie