Independent Submission W. Hackett
Internet-Draft January 2026
Intended status: Standards Track
Expires: 16 July 2026
Unified Rendering of Email Standard (URES)
draft-hackett-ures-00
Abstract
This document specifies requirements for the uniform rendering of
HTML email content across mail user agents (MUAs). It addresses
critical inconsistencies in how email clients interpret HTML and CSS,
including dark mode adaptation, embedded asset handling, positioning
constraints, and secure SVG rendering. The specification aims to
eliminate the current fragmentation in email rendering while
maintaining backwards compatibility with existing MIME standards
(RFCs 2045-2049) and the Internet Message Format (RFC 5322).
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 5 July 2026.
Copyright Notice
Copyright (c) 2026 IETF Trust and the persons identified as the
document authors. All rights reserved.
Hackett Expires 16 July 2026 [Page 1]
Internet-Draft URES January 2026
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Background . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Problem Statement . . . . . . . . . . . . . . . . . . . . 4
1.3. Requirements Language . . . . . . . . . . . . . . . . . . 5
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Document Structure Requirements . . . . . . . . . . . . . . . 6
3.1. HTML Version . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Required Document Structure . . . . . . . . . . . . . . . 6
3.3. Style Placement . . . . . . . . . . . . . . . . . . . . . 7
4. CSS Support Requirements . . . . . . . . . . . . . . . . . . 8
4.1. MUST Support Properties . . . . . . . . . . . . . . . . . 8
4.1.1. Box Model Properties . . . . . . . . . . . . . . . . 8
4.1.2. Typography Properties . . . . . . . . . . . . . . . . 8
4.1.3. Colour and Background Properties . . . . . . . . . . 8
4.1.4. Layout Properties . . . . . . . . . . . . . . . . . . 8
4.1.5. CSS Selectors . . . . . . . . . . . . . . . . . . . . 9
4.2. Positioning Constraints . . . . . . . . . . . . . . . . . 9
4.2.1. Permitted Values . . . . . . . . . . . . . . . . . . 9
4.2.2. Prohibited Values in Web Clients . . . . . . . . . . 9
4.3. z-index Handling . . . . . . . . . . . . . . . . . . . . 10
4.3.1. Stacking Context Isolation . . . . . . . . . . . . . 10
4.3.2. Maximum z-index . . . . . . . . . . . . . . . . . . . 10
4.4. Flexbox . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.5. CSS Grid (SHOULD Support) . . . . . . . . . . . . . . . . 10
5. Dark Mode Adaptation . . . . . . . . . . . . . . . . . . . . 11
5.1. Colour Scheme Meta Tag . . . . . . . . . . . . . . . . . 11
5.2. Media Query Support . . . . . . . . . . . . . . . . . . . 11
5.3. Colour Inversion Rules . . . . . . . . . . . . . . . . . 12
5.3.1. Inversion Pairing . . . . . . . . . . . . . . . . . . 12
5.3.2. Contrast Preservation . . . . . . . . . . . . . . . . 12
6. Image and Asset Handling . . . . . . . . . . . . . . . . . . 12
6.1. Inline Base64 Images . . . . . . . . . . . . . . . . . . 12
6.1.1. Syntax . . . . . . . . . . . . . . . . . . . . . . . 12
6.1.2. Required Support . . . . . . . . . . . . . . . . . . 12
6.1.3. Size Limits . . . . . . . . . . . . . . . . . . . . . 13
6.1.4. Rendering Behaviour . . . . . . . . . . . . . . . . . 13
6.2. CID (Content-ID) Images . . . . . . . . . . . . . . . . . 13
Hackett Expires 16 July 2026 [Page 2]
Internet-Draft URES January 2026
6.2.1. Syntax . . . . . . . . . . . . . . . . . . . . . . . 13
6.2.2. Required Behaviour . . . . . . . . . . . . . . . . . 14
7. SVG Rendering . . . . . . . . . . . . . . . . . . . . . . . . 14
7.1. Executive-Safe SVG Profile . . . . . . . . . . . . . . . 14
7.2. Prohibited SVG Elements . . . . . . . . . . . . . . . . . 15
7.2.1. Script and Event Handlers . . . . . . . . . . . . . . 15
7.2.2. External References . . . . . . . . . . . . . . . . . 15
8. Security Considerations . . . . . . . . . . . . . . . . . . . 15
8.1. Script Execution . . . . . . . . . . . . . . . . . . . . 15
8.1.1. Prohibited Elements . . . . . . . . . . . . . . . . . 15
8.1.2. Prohibited Attributes . . . . . . . . . . . . . . . . 16
8.1.3. JavaScript URLs . . . . . . . . . . . . . . . . . . . 16
8.2. Positioning Attack Prevention . . . . . . . . . . . . . . 16
8.2.1. Fixed Position Blocking . . . . . . . . . . . . . . . 16
8.2.2. z-index Sandboxing . . . . . . . . . . . . . . . . . 16
8.3. Tracking Prevention . . . . . . . . . . . . . . . . . . . 16
8.3.1. Pixel Tracking . . . . . . . . . . . . . . . . . . . 17
8.3.2. Inline Content as Alternative . . . . . . . . . . . . 17
9. Accessibility . . . . . . . . . . . . . . . . . . . . . . . . 17
9.1. Semantic HTML . . . . . . . . . . . . . . . . . . . . . . 17
9.2. Alternative Text . . . . . . . . . . . . . . . . . . . . 17
9.3. Colour Contrast . . . . . . . . . . . . . . . . . . . . . 18
10. Conformance Levels . . . . . . . . . . . . . . . . . . . . . 18
10.1. URES Level 1 (Baseline) . . . . . . . . . . . . . . . . 18
10.2. URES Level 2 (Enhanced) . . . . . . . . . . . . . . . . 18
10.3. URES Level 3 (Full) . . . . . . . . . . . . . . . . . . 19
11. Adoption Considerations . . . . . . . . . . . . . . . . . . . 19
11.1. Open Source Reference Implementations . . . . . . . . . 19
11.2. Precedent for Community-Driven Adoption . . . . . . . . 20
11.3. Incremental Adoption Path . . . . . . . . . . . . . . . 20
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 21
13.1. Normative References . . . . . . . . . . . . . . . . . . 21
13.2. Informative References . . . . . . . . . . . . . . . . . 22
Appendix A. Known Client Inconsistencies . . . . . . . . . . . . 22
A.1. CSS Support Matrix (Selected Properties) . . . . . . . . 23
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 23
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 23
1. Introduction
1.1. Background
Email remains one of the most critical communication channels for
both personal and business communications. Despite decades of
development, the rendering of HTML email content remains
frustratingly inconsistent across mail user agents (MUAs).
Hackett Expires 16 July 2026 [Page 3]
Internet-Draft URES January 2026
The current standards landscape is fragmented:
* RFC 5322 [RFC5322] defines the Internet Message Format, specifying
header fields and basic body structure.
* RFCs 2045-2049 [RFC2045] define MIME, enabling multi-part messages
with various content types including text/html.
* The W3C maintains HTML and CSS specifications, but these are
designed for web browsers, not email clients.
* No RFC or standard body governs how email clients SHOULD or MUST
render HTML and CSS content.
This gap has resulted in a situation where email developers must
maintain extensive compatibility matrices, use archaic techniques
such as table-based layouts, and accept that their carefully crafted
emails will appear differently—or broken—across different clients.
1.2. Problem Statement
The following critical issues plague current email rendering:
1. *CSS Support Inconsistency:* Properties universally supported in
browsers (flexbox, grid, CSS variables) have zero or partial
support in major email clients. Gmail strips style tags in non-
AMP contexts. Outlook uses Microsoft Word's rendering engine.
2. *Dark Mode Chaos:* Email clients implement dark mode adaptation
differently. Some invert all colours, some honour author
preferences, some do nothing. Text becomes illegible when
foreground colours are inverted but backgrounds are not.
3. *Image Handling:* Base64 inline images are blocked by many
clients citing size concerns. CID attachments render
inconsistently. Remote images enable tracking and are blocked by
default.
4. *SVG Non-Support:* Most email clients strip or fail to render SVG
entirely, despite it being a W3C standard since 2001. Executives
receive emails with missing logos and charts.
5. *Positioning Attacks:* In web-based clients (Gmail, Outlook.com),
malicious use of position:fixed or high z-index values could
overlay phishing content atop the webmail UI.
Hackett Expires 16 July 2026 [Page 4]
Internet-Draft URES January 2026
6. *Layout Primitives:* Modern CSS layout (flexbox, grid) is
unsupported in Outlook desktop, forcing continued use of nested
HTML tables—a technique deprecated in web development since 2010.
7. *Font Rendering:* @font-face and web fonts work in approximately
40% of email clients, with no fallback standardisation.
8. *Media Queries:* Support for responsive design via @media queries
is inconsistent, with Gmail notably stripping them entirely.
1.3. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2. Terminology
Mail User Agent (MUA) An application that accesses email on behalf
of a user. This includes desktop applications (Apple Mail,
Outlook, Thunderbird), web-based clients (Gmail, Outlook.com,
Yahoo Mail), and mobile applications (iOS Mail, Gmail app).
Rendering Engine The component of an MUA responsible for
interpreting and displaying HTML/CSS content. Some MUAs use web
browser engines (WebKit, Blink), others use proprietary engines
(Microsoft Word in Outlook desktop).
Dark Mode A display preference where the UI uses a dark background
with light text. Email clients may automatically adapt email
content to match this preference.
Colour Scheme The light or dark preference indicated by the email
author or inferred by the email client.
Inline Image An image embedded directly in the HTML using a data:
URI with base64 encoding, or referenced via Content-ID (CID).
Executive-Safe Content that renders correctly in email clients
commonly used by business executives, particularly Outlook
desktop, Apple Mail, and Gmail.
Stacking Context A three-dimensional conceptualisation of HTML
elements along an imaginary z-axis relative to the user. Elements
with z-index values form stacking contexts.
Hackett Expires 16 July 2026 [Page 5]
Internet-Draft URES January 2026
Content Isolation The practice of preventing email content from
affecting or overlaying the host application's user interface.
3. Document Structure Requirements
3.1. HTML Version
Conforming MUAs MUST support HTML5 document structure as defined in
[HTML5]. The following DOCTYPE declaration MUST be recognised:
MUAs MUST also accept and render documents using XHTML and HTML4
doctypes for backwards compatibility. However, email authors SHOULD
use HTML5.
MUAs MUST NOT require an XML declaration for HTML email content.
3.2. Required Document Structure
MUAs MUST correctly parse and render the following minimal document
structure:
Hackett Expires 16 July 2026 [Page 6]
Internet-Draft URES January 2026
Email Subject
MUAs MUST preserve the html element's lang attribute and make it
available to accessibility tools.
MUAs MUST parse and apply the viewport meta tag for responsive
rendering on mobile devices.
MUAs supporting Microsoft Office conditional comments SHOULD
interpret
8. Security Considerations
Email is a primary vector for phishing, malware distribution and
social engineering attacks. MUAs MUST implement robust security
measures while rendering HTML content.
8.1. Script Execution
MUAs MUST NOT execute JavaScript or any other scripting language in
email content.
8.1.1. Prohibited Elements
The following elements MUST be stripped or rendered inert:
* script element
* noscript element (SHOULD be displayed)
Hackett Expires 16 July 2026 [Page 15]
Internet-Draft URES January 2026
8.1.2. Prohibited Attributes
The following attributes MUST be stripped from all elements:
All on* event handlers: onclick, onload, onerror, onmouseover,
onfocus, onblur, onsubmit, etc.
8.1.3. JavaScript URLs
The following URL schemes MUST NOT be executable:
* javascript:
* vbscript:
* data:text/html (when containing script)
MUAs MUST either:
a. Strip href/src attributes containing these schemes, OR
b. Replace them with safe values (e.g., href="#")
8.2. Positioning Attack Prevention
In web-based MUAs, malicious use of CSS positioning could overlay
deceptive content atop the webmail UI.
8.2.1. Fixed Position Blocking
MUAs MUST NOT render position: fixed as specified. Such elements:
* MUST be rendered as position: static or position: relative
* MUST remain within the email content area
* MUST NOT overlay any part of the MUA interface
8.2.2. z-index Sandboxing
MUAs MUST ensure that email content z-index values cannot cause
elements to render above the MUA interface.
Implementation: Create a new stacking context for email content that
is positioned below all MUA UI elements.
8.3. Tracking Prevention
Hackett Expires 16 July 2026 [Page 16]
Internet-Draft URES January 2026
8.3.1. Pixel Tracking
Remote images are commonly used as tracking pixels. MUAs SHOULD:
* Block remote images by default
* Provide clear UI indication when images are blocked
* Allow users to load images per-email or per-sender
8.3.2. Inline Content as Alternative
The mandatory support for base64 inline images (Section 6.1) and CID
images (Section 6.2) provides senders with tracking-free alternatives
for embedding images.
9. Accessibility
Email content MUST be accessible to users with disabilities. MUAs
MUST NOT strip or alter HTML that supports accessibility.
9.1. Semantic HTML
MUAs MUST correctly interpret and render semantic HTML elements:
header, footer, nav, main, article, section, aside, h1 through h6, p,
ul, ol, li, dl, dt, dd, table, th, td (with scope attributes),
figure, figcaption, blockquote, cite, strong, em
MUAs MUST NOT flatten semantic structure (e.g., converting all
elements to div or span).
9.2. Alternative Text
MUAs MUST:
* Display alt attribute text when images are not loaded
* Expose alt text to assistive technologies
* Support role and aria-* attributes
MUAs MUST NOT strip:
alt, title, role, aria-label, aria-labelledby, aria-describedby,
aria-hidden, aria-live, aria-atomic, aria-relevant
Hackett Expires 16 July 2026 [Page 17]
Internet-Draft URES January 2026
9.3. Colour Contrast
When MUAs apply automatic dark mode adaptation (Section 5.3), the
resulting colour combinations MUST maintain WCAG 2.1 AA contrast
ratios:
* Normal text: 4.5:1
* Large text: 3:1
* UI components and graphics: 3:1
10. Conformance Levels
To facilitate gradual adoption, this specification defines three
conformance levels.
10.1. URES Level 1 (Baseline)
An MUA conforming to URES Level 1 MUST:
* Support all properties in Section 4.1
* Support inline base64 images (Section 6.1)
* Support CID images (Section 6.2)
* Strip all JavaScript (Section 8.1)
* Implement positioning constraints (Section 4.2)
* Support prefers-color-scheme media query (Section 5.2)
* Preserve semantic HTML (Section 9.1)
10.2. URES Level 2 (Enhanced)
An MUA conforming to URES Level 2 MUST:
* Meet all Level 1 requirements
* Support the Executive-Safe SVG Profile (Section 7)
* Support CSS Flexbox (Section 4.4)
* Implement dark mode adaptation rules (Section 5.3)
* Support picture element
Hackett Expires 16 July 2026 [Page 18]
Internet-Draft URES January 2026
* Support CSS custom properties (variables)
10.3. URES Level 3 (Full)
An MUA conforming to URES Level 3 MUST:
* Meet all Level 2 requirements
* Support CSS Grid (Section 4.5)
* Support @font-face
* Support CSS animations (with user preference for reduced motion)
* Implement full CSP
* Provide tracking prevention (Section 8.3)
11. Adoption Considerations
This section addresses practical considerations for adoption of this
specification by email client vendors.
11.1. Open Source Reference Implementations
The authors recognise that some email client vendors have
historically been reluctant to invest in standards-compliant
rendering engines, preferring instead to repurpose existing
technologies (such as word processing engines) that were never
designed for standards-compliant HTML/CSS rendering.
To address this, the community intends to develop and maintain open
source reference implementations of URES-compliant rendering
components. These implementations will be:
* Licensed under permissive terms (MIT, Apache 2.0, or similar)
* Designed for embedding in both native and web-based clients
* Maintained by the community with regular security updates
* Tested against the URES conformance test suite
Vendors who have historically chosen not to invest in standards-
compliant rendering may simply adopt these community-maintained
implementations when ready, rather than continuing to maintain
proprietary solutions that diverge from industry consensus.
Hackett Expires 16 July 2026 [Page 19]
Internet-Draft URES January 2026
11.2. Precedent for Community-Driven Adoption
This approach mirrors successful adoption patterns across the
software industry, where vendors have benefited from community-
developed standards and implementations rather than maintaining
proprietary alternatives:
* React (Meta): Now embedded across enterprise applications,
including those from vendors who initially resisted component-
based UI architectures.
* GraphQL (Meta): Adopted by major cloud platforms after community
momentum demonstrated clear benefits over proprietary query
languages.
* OpenTelemetry (CNCF): Observability standard now integrated across
all major cloud providers, replacing fragmented proprietary
instrumentation.
* Chromium (Google): The rendering engine now powers multiple
browsers from vendors who previously maintained independent
engines, including Microsoft Edge.
* VS Code / Monaco Editor (Microsoft): An acknowledgement that
community-driven tooling often surpasses proprietary alternatives.
Vendors currently maintaining non-compliant rendering engines face an
ongoing maintenance burden for technology that provides no
competitive advantage. The availability of URES-compliant open
source alternatives offers a path to reduced maintenance costs while
improving interoperability for their users.
11.3. Incremental Adoption Path
Vendors need not adopt all conformance levels simultaneously. The
three-tier conformance structure (Section 10) enables:
1. Level 1 adoption with minimal investment, addressing the most
critical rendering inconsistencies.
2. Level 2 adoption as community implementations mature, adding
modern layout and dark mode support.
3. Level 3 adoption for full feature parity with web browsers,
enabled by proven, stable open source components.
Hackett Expires 16 July 2026 [Page 20]
Internet-Draft URES January 2026
This graduated approach ensures that even conservative vendors can
adopt URES without significant risk, leveraging battle-tested
implementations developed and maintained by the broader community.
12. IANA Considerations
This document registers a new media feature for the prefers-color-
scheme-only media query:
Name: prefers-color-scheme-only
Values: light | dark
Applies to: visual media
Description: Indicates that the email author has requested no
automatic colour scheme adaptation.
This document requests registration of the following HTTP header for
use in email content negotiation:
Header field name: X-Email-Renderer-Level
Applicable protocol: HTTP (for web-based MUAs)
Status: Informational
Author/Change controller: IETF
Specification document(s): This document
Values: 1 | 2 | 3
Example: X-Email-Renderer-Level: 2
13. References
13.1. Normative References
[CSS-FLEXBOX-1]
Atkins Jr., T., Etemad, E., and R. Atanassov, "CSS
Flexible Box Layout Module Level 1", W3C Candidate
Recommendation, November 2018,
.
Hackett Expires 16 July 2026 [Page 21]
Internet-Draft URES January 2026
[CSS-GRID-1]
Atkins Jr., T., Etemad, E., and R. Atanassov, "CSS Grid
Layout Module Level 1", W3C Candidate Recommendation,
December 2020, .
[HTML5] WHATWG, "HTML Living Standard",
.
[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message
Bodies", RFC 2045, November 1996,
.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997,
.
[RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource
Locators", RFC 2392, August 1998,
.
[RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322,
October 2008, .
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, May 2017,
.
13.2. Informative References
[CANIEMAIL]
Community project, "Can I email... Support tables for HTML
and CSS in emails", .
[WCAG21] W3C, "Web Content Accessibility Guidelines (WCAG) 2.1",
W3C Recommendation, June 2018,
.
Appendix A. Known Client Inconsistencies
This appendix documents specific inconsistencies in current email
clients that this RFC aims to address. Data sourced from caniemail
project [CANIEMAIL] and direct testing as of January 2026.
Hackett Expires 16 July 2026 [Page 22]
Internet-Draft URES January 2026
A.1. CSS Support Matrix (Selected Properties)
+====================+=========+=====+=========+=====+=====+========+
| Property | Gmail |O.com| O.app |Apple|Yahoo| T-bird |
+====================+=========+=====+=========+=====+=====+========+
| style in head | Partial |Yes | Yes |Yes |Yes | Yes |
+--------------------+---------+-----+---------+-----+-----+--------+
| display: flex | Yes |Yes | No |Yes |Yes | Yes |
+--------------------+---------+-----+---------+-----+-----+--------+
| display: grid | Yes |Yes | No |Yes |Yes | Yes |
+--------------------+---------+-----+---------+-----+-----+--------+
| position: fixed | No |No | No |No |No | Yes |
+--------------------+---------+-----+---------+-----+-----+--------+
| position: | No |No | Yes |Yes |No | Yes |
| absolute | | | | | | |
+--------------------+---------+-----+---------+-----+-----+--------+
| background-image | Yes |Yes | No |Yes |Yes | Yes |
+--------------------+---------+-----+---------+-----+-----+--------+
| border-radius | Yes |Yes | Partial |Yes |Yes | Yes |
+--------------------+---------+-----+---------+-----+-----+--------+
| @media queries | No |Yes | Yes |Yes |Yes | Yes |
+--------------------+---------+-----+---------+-----+-----+--------+
| CSS variables | Yes |Yes | No |Yes |Yes | Yes |
+--------------------+---------+-----+---------+-----+-----+--------+
| @font-face | No |Yes | No |Yes |No | Yes |
+--------------------+---------+-----+---------+-----+-----+--------+
| ::before/::after | No |Yes | No |Yes |Yes | Yes |
+--------------------+---------+-----+---------+-----+-----+--------+
Table 1
Legend: Gmail (web), O.com (Outlook.com), O.app (Outlook desktop),
Apple (Apple Mail), Yahoo (Yahoo Mail), T-bird (Thunderbird)
Acknowledgements
The author wishes to acknowledge the work of the Email Standards
Project (2007-2011), the W3C HTML for Email Community Group
(2014-2023), and the caniemail.com project for documenting the
inconsistencies that this specification aims to address.
Author's Address
Will Hackett
London
United Kingdom
Email: will@willhackett.uk
URI: https://willhackett.uk
Hackett Expires 16 July 2026 [Page 23]