diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,11 @@
 # Changelog
 
+- 0.9.1.0
+    * Add `u` element to HTML5
+    * Add `role` attribute to HTML5
+    * Bump HUnit dependency to 1.6
+    * Bump QuickCheck dependency to 2.11
+
 - 0.9.0.1
     * Fix CHANGELOG
 
diff --git a/blaze-html.cabal b/blaze-html.cabal
--- a/blaze-html.cabal
+++ b/blaze-html.cabal
@@ -1,5 +1,5 @@
 Name:         blaze-html
-Version:      0.9.0.1
+Version:      0.9.1.0
 Homepage:     http://jaspervdj.be/blaze
 Bug-Reports:  http://github.com/jaspervdj/blaze-html/issues
 License:      BSD3
@@ -64,13 +64,20 @@
   Ghc-options:    -Wall
 
   Other-modules:
+    Text.Blaze.Html
+    Text.Blaze.Html.Renderer.String
+    Text.Blaze.Html.Renderer.Text
+    Text.Blaze.Html.Renderer.Utf8
     Text.Blaze.Html.Tests
     Text.Blaze.Html.Tests.Util
+    Text.Blaze.Html5
+    Text.Blaze.Html5.Attributes
+    Util.Sanitize
     Util.Tests
 
   Build-depends:
-    HUnit                      >= 1.2 && < 1.6,
-    QuickCheck                 >= 2.4 && < 2.10,
+    HUnit                      >= 1.2 && < 1.7,
+    QuickCheck                 >= 2.4 && < 2.12,
     containers                 >= 0.3 && < 0.6,
     test-framework             >= 0.4 && < 0.9,
     test-framework-hunit       >= 0.3 && < 0.4,
diff --git a/src/Text/Blaze/Html5/Attributes.hs b/src/Text/Blaze/Html5/Attributes.hs
--- a/src/Text/Blaze/Html5/Attributes.hs
+++ b/src/Text/Blaze/Html5/Attributes.hs
@@ -146,6 +146,7 @@
     , rel
     , required
     , reversed
+    , role
     , rows
     , rowspan
     , sandbox
@@ -2702,6 +2703,24 @@
          -> Attribute       -- ^ Resulting attribute.
 reversed = attribute "reversed" " reversed=\""
 {-# INLINE reversed #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:249
+--
+-- | Combinator for the @role@ attribute.
+--
+-- Example:
+--
+-- > div ! role "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div role="bar">Hello.</div>
+--
+role :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+role = attribute "role" " role=\""
+{-# INLINE role #-}
 
 -- WARNING: The next block of code was automatically generated by
 -- src/Util/GenerateHtmlCombinators.hs:249
diff --git a/src/Text/Blaze/XHtml5/Attributes.hs b/src/Text/Blaze/XHtml5/Attributes.hs
--- a/src/Text/Blaze/XHtml5/Attributes.hs
+++ b/src/Text/Blaze/XHtml5/Attributes.hs
@@ -146,6 +146,7 @@
     , rel
     , required
     , reversed
+    , role
     , rows
     , rowspan
     , sandbox
@@ -2702,6 +2703,24 @@
          -> Attribute       -- ^ Resulting attribute.
 reversed = attribute "reversed" " reversed=\""
 {-# INLINE reversed #-}
+
+-- WARNING: The next block of code was automatically generated by
+-- src/Util/GenerateHtmlCombinators.hs:249
+--
+-- | Combinator for the @role@ attribute.
+--
+-- Example:
+--
+-- > div ! role "bar" $ "Hello."
+--
+-- Result:
+--
+-- > <div role="bar">Hello.</div>
+--
+role :: AttributeValue  -- ^ Attribute value.
+     -> Attribute       -- ^ Resulting attribute.
+role = attribute "role" " role=\""
+{-# INLINE role #-}
 
 -- WARNING: The next block of code was automatically generated by
 -- src/Util/GenerateHtmlCombinators.hs:249
diff --git a/src/Util/GenerateHtmlCombinators.hs b/src/Util/GenerateHtmlCombinators.hs
--- a/src/Util/GenerateHtmlCombinators.hs
+++ b/src/Util/GenerateHtmlCombinators.hs
@@ -412,7 +412,7 @@
         , "pre", "progress", "q", "rp", "rt", "ruby", "samp", "script"
         , "section", "select", "small", "span", "strong", "style", "sub"
         , "summary", "sup", "table", "tbody", "td", "textarea", "tfoot", "th"
-        , "thead", "time", "title", "tr", "ul", "var", "video"
+        , "thead", "time", "title", "tr", "u", "ul", "var", "video"
         ]
     , leafs =
         -- http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#void-elements
@@ -446,7 +446,7 @@
         , "onsubmit", "onsuspend", "ontimeupdate", "onundo", "onunload"
         , "onvolumechange", "onwaiting", "open", "optimum", "pattern", "ping"
         , "placeholder", "preload", "pubdate", "radiogroup", "readonly", "rel"
-        , "required", "reversed", "rows", "rowspan", "sandbox", "scope"
+        , "required", "reversed", "role", "rows", "rowspan", "sandbox", "scope"
         , "scoped", "seamless", "selected", "shape", "size", "sizes", "span"
         , "spellcheck", "src", "srcdoc", "start", "step", "style", "subject"
         , "summary", "tabindex", "target", "title", "type", "usemap", "value"
diff --git a/tests/Text/Blaze/Html/Tests.hs b/tests/Text/Blaze/Html/Tests.hs
--- a/tests/Text/Blaze/Html/Tests.hs
+++ b/tests/Text/Blaze/Html/Tests.hs
@@ -57,6 +57,8 @@
 
     , HtmlTest "<img src=\"&amp;\">" $ img ! src "&"
 
+    , HtmlTest "<u>hello</u>" $ H.u "hello"
+
     -- Pre-escaping cases
     , HtmlTest "<3 Haskell" $ preEscapedToMarkup ("<3 Haskell" :: String)
 
