@mytechtoday/augment-extensions 0.4.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/dracula/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/dracula/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/high-contrast/README.md +27 -0
- package/augment-extensions/domain-rules/design/color/themes/high-contrast/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/monokai/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/monokai/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/nord/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/nord/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/one-dark/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/one-dark/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/one-light/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/one-light/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-dark/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-dark/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-light/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/solarized-light/module.json +26 -0
- package/augment-extensions/domain-rules/design/color/themes/tokyo-night/README.md +23 -0
- package/augment-extensions/domain-rules/design/color/themes/tokyo-night/module.json +26 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/README.md +136 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/SCHEMA-VALIDATION-REPORT.md +216 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/brand-kit-example.yaml +292 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/campaign-brief-example.yaml +389 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/content-calendar-example.yaml +643 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/email-newsletter-example.md +376 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/landing-page-example.md +934 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/ppc-ad-copy-example.md +301 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/seo-blog-post-example.md +347 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/examples/social-media-campaign-example.md +606 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/module.json +50 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/affiliate-influencer-marketing.md +593 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/asset-management.md +418 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/brand-consistency.md +210 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/content-marketing.md +337 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/conversion-optimization.md +455 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/direct-sales.md +499 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/email-marketing.md +439 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/legal-compliance.md +227 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/ppc-advertising.md +569 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/seo-optimization.md +470 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/social-media-marketing.md +414 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/rules/universal-marketing.md +177 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/asset-inventory.schema.json +247 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/brand-kit.schema.json +326 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/campaign-brief.schema.json +342 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/color-palette.schema.json +223 -0
- package/augment-extensions/domain-rules/marketing-standards/seo-sales-marketing/schemas/content-template.schema.json +383 -0
- package/augment-extensions/workflows/beads-integration/IMPLEMENTATION-STATUS.md +145 -0
- package/augment-extensions/workflows/beads-integration/README.md +143 -0
- package/augment-extensions/workflows/beads-integration/config/defaults.json +32 -0
- package/augment-extensions/workflows/beads-integration/config/schema.json +140 -0
- package/augment-extensions/workflows/beads-integration/examples/basic-task-generation.md +293 -0
- package/augment-extensions/workflows/beads-integration/module.json +75 -0
- package/augment-extensions/workflows/beads-integration/rules/core-rules.md +219 -0
- package/augment-extensions/workflows/beads-integration/rules/effectiveness-standards.md +256 -0
- package/augment-extensions/workflows/beads-integration/rules/task-generation.md +607 -0
- package/augment-extensions/writing-standards/screenplay/README.md +135 -6
- package/augment-extensions/writing-standards/screenplay/_templates/README.md +121 -0
- package/augment-extensions/writing-standards/screenplay/_templates/genre-template.md +153 -0
- package/augment-extensions/writing-standards/screenplay/_templates/style-template.md +243 -0
- package/augment-extensions/writing-standards/screenplay/_templates/theme-template.md +213 -0
- package/augment-extensions/writing-standards/screenplay/examples/beat-sheet-example.yaml +95 -0
- package/augment-extensions/writing-standards/screenplay/examples/character-profile-example.yaml +116 -0
- package/augment-extensions/writing-standards/screenplay/examples/commercial-30sec.fountain +151 -0
- package/augment-extensions/writing-standards/screenplay/examples/independent-monologue.fountain +67 -0
- package/augment-extensions/writing-standards/screenplay/examples/news-segment.fountain +142 -0
- package/augment-extensions/writing-standards/screenplay/examples/plot-outline-example.yaml +184 -0
- package/augment-extensions/writing-standards/screenplay/examples/tv-episode-teaser.fountain +204 -0
- package/augment-extensions/writing-standards/screenplay/genres/README.md +181 -0
- package/augment-extensions/writing-standards/screenplay/genres/examples/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/genres/module.json +70 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/action.md +399 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/adventure.md +407 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/animation.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/biographical.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/comedy.md +401 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/documentary.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/drama.md +409 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/fantasy.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/historical.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/horror.md +268 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/musical.md +294 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/mystery.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/noir.md +294 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/romance.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/sci-fi.md +289 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/superhero.md +293 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/thriller.md +294 -0
- package/augment-extensions/writing-standards/screenplay/genres/rules/western.md +293 -0
- package/augment-extensions/writing-standards/screenplay/module.json +1 -1
- package/augment-extensions/writing-standards/screenplay/rules/aaa-hollywood-films.md +339 -0
- package/augment-extensions/writing-standards/screenplay/rules/ai-integration-testing.md +329 -0
- package/augment-extensions/writing-standards/screenplay/rules/character-development.md +169 -0
- package/augment-extensions/writing-standards/screenplay/rules/commercials.md +437 -0
- package/augment-extensions/writing-standards/screenplay/rules/dialogue-writing.md +263 -0
- package/augment-extensions/writing-standards/screenplay/rules/diversity-inclusion.md +261 -0
- package/augment-extensions/writing-standards/screenplay/rules/examples-guide.md +315 -0
- package/augment-extensions/writing-standards/screenplay/rules/formatting-validation.md +413 -0
- package/augment-extensions/writing-standards/screenplay/rules/fountain-format.md +372 -0
- package/augment-extensions/writing-standards/screenplay/rules/independent-films.md +374 -0
- package/augment-extensions/writing-standards/screenplay/rules/live-tv-productions.md +443 -0
- package/augment-extensions/writing-standards/screenplay/rules/narrative-structures.md +207 -0
- package/augment-extensions/writing-standards/screenplay/rules/news-broadcasts.md +444 -0
- package/augment-extensions/writing-standards/screenplay/rules/pacing-timing.md +331 -0
- package/augment-extensions/writing-standards/screenplay/rules/quality-review-checklist.md +334 -0
- package/augment-extensions/writing-standards/screenplay/rules/quick-reference.md +299 -0
- package/augment-extensions/writing-standards/screenplay/rules/screen-continuity.md +263 -0
- package/augment-extensions/writing-standards/screenplay/rules/streaming-content.md +412 -0
- package/augment-extensions/writing-standards/screenplay/rules/trope-management.md +370 -0
- package/augment-extensions/writing-standards/screenplay/rules/tv-series.md +374 -0
- package/augment-extensions/writing-standards/screenplay/rules/vscode-integration.md +277 -0
- package/augment-extensions/writing-standards/screenplay/rules/web-content.md +393 -0
- package/augment-extensions/writing-standards/screenplay/schemas/beat-sheet.json +332 -0
- package/augment-extensions/writing-standards/screenplay/schemas/character-profile.json +247 -0
- package/augment-extensions/writing-standards/screenplay/schemas/feature-selection.json +200 -0
- package/augment-extensions/writing-standards/screenplay/schemas/plot-outline.json +233 -0
- package/augment-extensions/writing-standards/screenplay/schemas/screenplay-config.json +245 -0
- package/augment-extensions/writing-standards/screenplay/schemas/trope-inventory.json +221 -0
- package/augment-extensions/writing-standards/screenplay/styles/README.md +159 -0
- package/augment-extensions/writing-standards/screenplay/styles/examples/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/styles/examples/style-applications.md +1449 -0
- package/augment-extensions/writing-standards/screenplay/styles/module.json +64 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/dialogue-centric.md +520 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/ensemble.md +499 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/epic.md +497 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/experimental.md +492 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/flashback.md +509 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/linear.md +490 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/minimalist.md +499 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/non-linear.md +501 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/poetic.md +499 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/realistic.md +498 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/satirical.md +499 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/surreal.md +508 -0
- package/augment-extensions/writing-standards/screenplay/styles/rules/voice-over.md +500 -0
- package/augment-extensions/writing-standards/screenplay/themes/README.md +158 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/common-mistakes-and-fixes.md +643 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/complete-scene-example.md +311 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/individual-theme-examples.md +562 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/multi-theme-weaving.md +538 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/theme-application-guide.md +432 -0
- package/augment-extensions/writing-standards/screenplay/themes/examples/theme-integration-across-acts.md +637 -0
- package/augment-extensions/writing-standards/screenplay/themes/module.json +66 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/.gitkeep +2 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/ambition.md +458 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/betrayal.md +490 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/environment.md +458 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/fate.md +459 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/friendship.md +491 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/growth.md +491 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/identity.md +490 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/isolation.md +464 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/justice.md +461 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/love.md +489 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/power.md +494 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/redemption.md +483 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/revenge.md +489 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/survival.md +496 -0
- package/augment-extensions/writing-standards/screenplay/themes/rules/technology.md +463 -0
- package/cli/dist/cli.js +30 -1
- package/cli/dist/cli.js.map +1 -1
- package/cli/dist/commands/show.d.ts +23 -0
- package/cli/dist/commands/show.d.ts.map +1 -1
- package/cli/dist/commands/show.js +928 -10
- package/cli/dist/commands/show.js.map +1 -1
- package/cli/dist/types/gui.d.ts +62 -0
- package/cli/dist/types/gui.d.ts.map +1 -0
- package/cli/dist/types/gui.js +30 -0
- package/cli/dist/types/gui.js.map +1 -0
- package/cli/dist/utils/config-system.d.ts +111 -0
- package/cli/dist/utils/config-system.d.ts.map +1 -0
- package/cli/dist/utils/config-system.js +239 -0
- package/cli/dist/utils/config-system.js.map +1 -0
- package/cli/dist/utils/gui-helpers.d.ts +23 -0
- package/cli/dist/utils/gui-helpers.d.ts.map +1 -0
- package/cli/dist/utils/gui-helpers.js +159 -0
- package/cli/dist/utils/gui-helpers.js.map +1 -0
- package/cli/dist/utils/hook-system.d.ts +84 -0
- package/cli/dist/utils/hook-system.d.ts.map +1 -0
- package/cli/dist/utils/hook-system.js +151 -0
- package/cli/dist/utils/hook-system.js.map +1 -0
- package/cli/dist/utils/inspection-cache.d.ts +56 -0
- package/cli/dist/utils/inspection-cache.d.ts.map +1 -0
- package/cli/dist/utils/inspection-cache.js +166 -0
- package/cli/dist/utils/inspection-cache.js.map +1 -0
- package/cli/dist/utils/inspection-handlers.d.ts +75 -0
- package/cli/dist/utils/inspection-handlers.d.ts.map +1 -0
- package/cli/dist/utils/inspection-handlers.js +171 -0
- package/cli/dist/utils/inspection-handlers.js.map +1 -0
- package/cli/dist/utils/module-system.d.ts +81 -1
- package/cli/dist/utils/module-system.d.ts.map +1 -1
- package/cli/dist/utils/module-system.js +393 -16
- package/cli/dist/utils/module-system.js.map +1 -1
- package/cli/dist/utils/plugin-system.d.ts +133 -0
- package/cli/dist/utils/plugin-system.d.ts.map +1 -0
- package/cli/dist/utils/plugin-system.js +210 -0
- package/cli/dist/utils/plugin-system.js.map +1 -0
- package/cli/dist/utils/progress.d.ts +67 -0
- package/cli/dist/utils/progress.d.ts.map +1 -0
- package/cli/dist/utils/progress.js +146 -0
- package/cli/dist/utils/progress.js.map +1 -0
- package/cli/dist/utils/stream-reader.d.ts +34 -0
- package/cli/dist/utils/stream-reader.d.ts.map +1 -0
- package/cli/dist/utils/stream-reader.js +147 -0
- package/cli/dist/utils/stream-reader.js.map +1 -0
- package/cli/dist/utils/vscode-editor.d.ts +45 -0
- package/cli/dist/utils/vscode-editor.d.ts.map +1 -0
- package/cli/dist/utils/vscode-editor.js +171 -0
- package/cli/dist/utils/vscode-editor.js.map +1 -0
- package/cli/dist/utils/vscode-links.d.ts +49 -0
- package/cli/dist/utils/vscode-links.d.ts.map +1 -0
- package/cli/dist/utils/vscode-links.js +167 -0
- package/cli/dist/utils/vscode-links.js.map +1 -0
- package/modules.md +44 -2
- package/package.json +6 -4
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
# Email Marketing Standards
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Best practices for email marketing including subject lines, responsive HTML design, deliverability, CAN-SPAM compliance, and email automation strategies.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Subject Line Best Practices
|
|
10
|
+
|
|
11
|
+
### Length and Format
|
|
12
|
+
|
|
13
|
+
- **Optimal length**: 40-50 characters (mobile preview)
|
|
14
|
+
- **Desktop preview**: ~60 characters
|
|
15
|
+
- **Mobile preview**: ~30-40 characters
|
|
16
|
+
|
|
17
|
+
### Writing Techniques
|
|
18
|
+
|
|
19
|
+
**DO**:
|
|
20
|
+
- Use personalization (`{{FirstName}}`, location, company)
|
|
21
|
+
- Create urgency ("Last chance", "Ending soon")
|
|
22
|
+
- Ask questions ("Ready to boost your sales?")
|
|
23
|
+
- Use numbers ("5 ways to...", "Save 20%")
|
|
24
|
+
- Test emojis (use sparingly, A/B test)
|
|
25
|
+
- Be specific and clear about email content
|
|
26
|
+
|
|
27
|
+
**DON'T**:
|
|
28
|
+
- Use ALL CAPS or excessive punctuation!!!
|
|
29
|
+
- Overuse spam trigger words (FREE, URGENT, ACT NOW)
|
|
30
|
+
- Mislead about email content (clickbait)
|
|
31
|
+
- Use "Re:" or "Fwd:" deceptively
|
|
32
|
+
- Overuse emojis (looks unprofessional)
|
|
33
|
+
|
|
34
|
+
### Subject Line Formulas
|
|
35
|
+
|
|
36
|
+
**Curiosity**: "You won't believe what happened..."
|
|
37
|
+
**Urgency**: "Only 3 hours left to save 30%"
|
|
38
|
+
**Personalization**: "{{FirstName}}, your exclusive offer inside"
|
|
39
|
+
**Question**: "Struggling with email deliverability?"
|
|
40
|
+
**How-to**: "How to double your email open rates"
|
|
41
|
+
**List**: "7 email marketing mistakes to avoid"
|
|
42
|
+
|
|
43
|
+
### A/B Testing
|
|
44
|
+
|
|
45
|
+
**Test Variables**:
|
|
46
|
+
- Personalization vs. generic
|
|
47
|
+
- Question vs. statement
|
|
48
|
+
- Short vs. long
|
|
49
|
+
- Emoji vs. no emoji
|
|
50
|
+
- Urgency vs. value-focused
|
|
51
|
+
|
|
52
|
+
**Sample Size**: Minimum 1,000 recipients per variant
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Email Design and HTML
|
|
57
|
+
|
|
58
|
+
### Responsive Design
|
|
59
|
+
|
|
60
|
+
**Mobile-First Approach**:
|
|
61
|
+
- 60%+ of emails opened on mobile
|
|
62
|
+
- Single-column layout for mobile
|
|
63
|
+
- Minimum font size: 14px (16px for body text)
|
|
64
|
+
- Touch-friendly buttons: 44x44 pixels minimum
|
|
65
|
+
- Optimize images for mobile (max 600px width)
|
|
66
|
+
|
|
67
|
+
### HTML Email Structure
|
|
68
|
+
|
|
69
|
+
**Best Practices**:
|
|
70
|
+
- Use table-based layout (better email client support)
|
|
71
|
+
- Inline CSS (many clients strip `<style>` tags)
|
|
72
|
+
- Set width to 600-650px (desktop standard)
|
|
73
|
+
- Use web-safe fonts (Arial, Georgia, Times New Roman, Verdana)
|
|
74
|
+
- Include alt text for all images
|
|
75
|
+
- Use background colors (not background images)
|
|
76
|
+
|
|
77
|
+
**Example Template**:
|
|
78
|
+
```html
|
|
79
|
+
<!DOCTYPE html>
|
|
80
|
+
<html lang="en">
|
|
81
|
+
<head>
|
|
82
|
+
<meta charset="UTF-8">
|
|
83
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
84
|
+
<title>Email Title</title>
|
|
85
|
+
</head>
|
|
86
|
+
<body style="margin: 0; padding: 0; font-family: Arial, sans-serif;">
|
|
87
|
+
<table role="presentation" width="100%" cellspacing="0" cellpadding="0" border="0">
|
|
88
|
+
<tr>
|
|
89
|
+
<td align="center" style="padding: 20px 0;">
|
|
90
|
+
<table role="presentation" width="600" cellspacing="0" cellpadding="0" border="0" style="max-width: 600px;">
|
|
91
|
+
<!-- Header -->
|
|
92
|
+
<tr>
|
|
93
|
+
<td style="padding: 20px; background-color: #f8f8f8;">
|
|
94
|
+
<img src="logo.png" alt="Company Logo" width="150" style="display: block;">
|
|
95
|
+
</td>
|
|
96
|
+
</tr>
|
|
97
|
+
<!-- Body -->
|
|
98
|
+
<tr>
|
|
99
|
+
<td style="padding: 40px 20px; background-color: #ffffff;">
|
|
100
|
+
<h1 style="margin: 0 0 20px; font-size: 24px; color: #333333;">Email Headline</h1>
|
|
101
|
+
<p style="margin: 0 0 20px; font-size: 16px; line-height: 1.6; color: #666666;">
|
|
102
|
+
Email body content goes here.
|
|
103
|
+
</p>
|
|
104
|
+
<!-- CTA Button -->
|
|
105
|
+
<table role="presentation" cellspacing="0" cellpadding="0" border="0">
|
|
106
|
+
<tr>
|
|
107
|
+
<td style="border-radius: 4px; background-color: #007bff;">
|
|
108
|
+
<a href="https://example.com" target="_blank" style="display: inline-block; padding: 14px 28px; font-size: 16px; color: #ffffff; text-decoration: none; font-weight: bold;">
|
|
109
|
+
Click Here
|
|
110
|
+
</a>
|
|
111
|
+
</td>
|
|
112
|
+
</tr>
|
|
113
|
+
</table>
|
|
114
|
+
</td>
|
|
115
|
+
</tr>
|
|
116
|
+
<!-- Footer -->
|
|
117
|
+
<tr>
|
|
118
|
+
<td style="padding: 20px; background-color: #f8f8f8; font-size: 12px; color: #999999; text-align: center;">
|
|
119
|
+
<p style="margin: 0 0 10px;">Company Name | Address | Phone</p>
|
|
120
|
+
<p style="margin: 0 0 10px;">
|
|
121
|
+
<a href="{{UnsubscribeLink}}" style="color: #007bff; text-decoration: underline;">Unsubscribe</a>
|
|
122
|
+
</p>
|
|
123
|
+
</td>
|
|
124
|
+
</tr>
|
|
125
|
+
</table>
|
|
126
|
+
</td>
|
|
127
|
+
</tr>
|
|
128
|
+
</table>
|
|
129
|
+
</body>
|
|
130
|
+
</html>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Design Elements
|
|
134
|
+
|
|
135
|
+
**Colors**:
|
|
136
|
+
- Use brand colors consistently
|
|
137
|
+
- Ensure sufficient contrast (WCAG AA: 4.5:1 for text)
|
|
138
|
+
- Limit to 2-3 colors per email
|
|
139
|
+
|
|
140
|
+
**Images**:
|
|
141
|
+
- Optimize file size (< 100KB per image)
|
|
142
|
+
- Use alt text (many clients block images by default)
|
|
143
|
+
- Don't rely solely on images for message
|
|
144
|
+
- Use PNG for logos, JPG for photos
|
|
145
|
+
|
|
146
|
+
**CTAs (Call-to-Action)**:
|
|
147
|
+
- Use button, not just text link
|
|
148
|
+
- Make it stand out (contrasting color)
|
|
149
|
+
- Use action-oriented text ("Get Started", "Download Now")
|
|
150
|
+
- Limit to 1-2 CTAs per email
|
|
151
|
+
- Place primary CTA above the fold
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Email Deliverability
|
|
156
|
+
|
|
157
|
+
### Authentication
|
|
158
|
+
|
|
159
|
+
**SPF (Sender Policy Framework)**:
|
|
160
|
+
```
|
|
161
|
+
v=spf1 include:_spf.google.com ~all
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**DKIM (DomainKeys Identified Mail)**:
|
|
165
|
+
- Add DKIM signature to email headers
|
|
166
|
+
- Verify domain ownership
|
|
167
|
+
|
|
168
|
+
**DMARC (Domain-based Message Authentication)**:
|
|
169
|
+
```
|
|
170
|
+
v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Sender Reputation
|
|
174
|
+
|
|
175
|
+
**Best Practices**:
|
|
176
|
+
- Use consistent "From" name and email
|
|
177
|
+
- Warm up new IP addresses gradually
|
|
178
|
+
- Maintain low bounce rate (< 2%)
|
|
179
|
+
- Keep spam complaint rate low (< 0.1%)
|
|
180
|
+
- Remove inactive subscribers (no opens in 6+ months)
|
|
181
|
+
- Use double opt-in for new subscribers
|
|
182
|
+
|
|
183
|
+
### Avoiding Spam Filters
|
|
184
|
+
|
|
185
|
+
**DO**:
|
|
186
|
+
- Use reputable ESP (Email Service Provider)
|
|
187
|
+
- Authenticate your domain (SPF, DKIM, DMARC)
|
|
188
|
+
- Maintain clean email list
|
|
189
|
+
- Include physical mailing address
|
|
190
|
+
- Provide easy unsubscribe option
|
|
191
|
+
- Balance text-to-image ratio (60/40)
|
|
192
|
+
|
|
193
|
+
**DON'T**:
|
|
194
|
+
- Use spam trigger words excessively
|
|
195
|
+
- Send from free email providers (Gmail, Yahoo)
|
|
196
|
+
- Use misleading subject lines
|
|
197
|
+
- Send to purchased lists
|
|
198
|
+
- Send too frequently (causes unsubscribes)
|
|
199
|
+
- Use URL shorteners (looks suspicious)
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## CAN-SPAM Compliance
|
|
204
|
+
|
|
205
|
+
### Required Elements
|
|
206
|
+
|
|
207
|
+
**1. Accurate Header Information**:
|
|
208
|
+
- "From", "To", "Reply-To" must be accurate
|
|
209
|
+
- Routing information must identify sender
|
|
210
|
+
|
|
211
|
+
**2. Non-Deceptive Subject Lines**:
|
|
212
|
+
- Subject line must reflect email content
|
|
213
|
+
- No misleading or false information
|
|
214
|
+
|
|
215
|
+
**3. Identify Message as Advertisement**:
|
|
216
|
+
- Clearly disclose if email is promotional
|
|
217
|
+
- Can be in subject line or body
|
|
218
|
+
|
|
219
|
+
**4. Include Physical Address**:
|
|
220
|
+
- Valid physical postal address
|
|
221
|
+
- Can be street address or P.O. box
|
|
222
|
+
|
|
223
|
+
**5. Provide Opt-Out Method**:
|
|
224
|
+
- Clear and conspicuous unsubscribe link
|
|
225
|
+
- Process opt-outs within 10 business days
|
|
226
|
+
- Honor opt-out for at least 30 days
|
|
227
|
+
|
|
228
|
+
**6. Monitor Third-Party Senders**:
|
|
229
|
+
- You're responsible even if you hire someone else
|
|
230
|
+
- Monitor compliance of email marketing vendors
|
|
231
|
+
|
|
232
|
+
### Penalties
|
|
233
|
+
|
|
234
|
+
- Up to $46,517 per violation
|
|
235
|
+
- Criminal penalties for egregious violations
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Email Automation and Workflows
|
|
240
|
+
|
|
241
|
+
### Welcome Series
|
|
242
|
+
|
|
243
|
+
**Trigger**: New subscriber
|
|
244
|
+
|
|
245
|
+
**Sequence**:
|
|
246
|
+
1. **Email 1** (Immediate): Welcome + deliver lead magnet
|
|
247
|
+
2. **Email 2** (Day 2): Introduce brand story and values
|
|
248
|
+
3. **Email 3** (Day 4): Showcase best content/products
|
|
249
|
+
4. **Email 4** (Day 7): Social proof (testimonials, case studies)
|
|
250
|
+
5. **Email 5** (Day 10): Special offer or CTA
|
|
251
|
+
|
|
252
|
+
### Abandoned Cart Series
|
|
253
|
+
|
|
254
|
+
**Trigger**: User adds to cart but doesn't complete purchase
|
|
255
|
+
|
|
256
|
+
**Sequence**:
|
|
257
|
+
1. **Email 1** (1 hour): Reminder with cart contents
|
|
258
|
+
2. **Email 2** (24 hours): Add urgency (limited stock, expiring discount)
|
|
259
|
+
3. **Email 3** (48 hours): Offer incentive (free shipping, discount)
|
|
260
|
+
|
|
261
|
+
### Re-Engagement Campaign
|
|
262
|
+
|
|
263
|
+
**Trigger**: No opens in 90+ days
|
|
264
|
+
|
|
265
|
+
**Sequence**:
|
|
266
|
+
1. **Email 1**: "We miss you" + highlight new content/products
|
|
267
|
+
2. **Email 2** (7 days later): Special "come back" offer
|
|
268
|
+
3. **Email 3** (14 days later): Final chance + confirm subscription preference
|
|
269
|
+
|
|
270
|
+
### Drip Campaigns
|
|
271
|
+
|
|
272
|
+
**Educational Drip**:
|
|
273
|
+
- Send valuable content over time
|
|
274
|
+
- Build trust and authority
|
|
275
|
+
- Nurture leads toward purchase
|
|
276
|
+
|
|
277
|
+
**Onboarding Drip**:
|
|
278
|
+
- Help new customers get started
|
|
279
|
+
- Reduce churn
|
|
280
|
+
- Increase product adoption
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## Segmentation and Personalization
|
|
285
|
+
|
|
286
|
+
### Segmentation Criteria
|
|
287
|
+
|
|
288
|
+
**Demographics**:
|
|
289
|
+
- Age, gender, location
|
|
290
|
+
- Job title, industry, company size
|
|
291
|
+
|
|
292
|
+
**Behavioral**:
|
|
293
|
+
- Purchase history
|
|
294
|
+
- Email engagement (opens, clicks)
|
|
295
|
+
- Website activity
|
|
296
|
+
- Product interests
|
|
297
|
+
|
|
298
|
+
**Lifecycle Stage**:
|
|
299
|
+
- Subscriber (not yet customer)
|
|
300
|
+
- First-time customer
|
|
301
|
+
- Repeat customer
|
|
302
|
+
- VIP/high-value customer
|
|
303
|
+
- Churned customer
|
|
304
|
+
|
|
305
|
+
### Personalization Tactics
|
|
306
|
+
|
|
307
|
+
**Basic**:
|
|
308
|
+
- Use first name in subject line and greeting
|
|
309
|
+
- Reference location or company
|
|
310
|
+
- Send from a real person (not "noreply@")
|
|
311
|
+
|
|
312
|
+
**Advanced**:
|
|
313
|
+
- Dynamic content blocks based on interests
|
|
314
|
+
- Product recommendations based on browsing history
|
|
315
|
+
- Send time optimization (when user typically opens)
|
|
316
|
+
- Personalized subject lines based on behavior
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## Email Types and Frequency
|
|
321
|
+
|
|
322
|
+
### Newsletter
|
|
323
|
+
|
|
324
|
+
**Purpose**: Regular updates, content roundup
|
|
325
|
+
**Frequency**: Weekly or bi-weekly
|
|
326
|
+
**Content**: Blog posts, news, tips, curated content
|
|
327
|
+
|
|
328
|
+
### Promotional
|
|
329
|
+
|
|
330
|
+
**Purpose**: Drive sales, announce offers
|
|
331
|
+
**Frequency**: 1-2 per week (max)
|
|
332
|
+
**Content**: Product launches, discounts, limited-time offers
|
|
333
|
+
|
|
334
|
+
### Transactional
|
|
335
|
+
|
|
336
|
+
**Purpose**: Order confirmations, receipts, shipping updates
|
|
337
|
+
**Frequency**: As needed (triggered)
|
|
338
|
+
**Content**: Purchase details, tracking info, account updates
|
|
339
|
+
|
|
340
|
+
### Lifecycle
|
|
341
|
+
|
|
342
|
+
**Purpose**: Nurture leads, onboard customers
|
|
343
|
+
**Frequency**: Automated sequence
|
|
344
|
+
**Content**: Educational content, product tips, case studies
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Metrics and KPIs
|
|
349
|
+
|
|
350
|
+
### Key Metrics
|
|
351
|
+
|
|
352
|
+
**Open Rate**:
|
|
353
|
+
- Formula: (Emails opened / Emails delivered) × 100
|
|
354
|
+
- Benchmark: 15-25% (varies by industry)
|
|
355
|
+
- Factors: Subject line, sender name, send time
|
|
356
|
+
|
|
357
|
+
**Click-Through Rate (CTR)**:
|
|
358
|
+
- Formula: (Clicks / Emails delivered) × 100
|
|
359
|
+
- Benchmark: 2-5%
|
|
360
|
+
- Factors: Email content, CTA placement, relevance
|
|
361
|
+
|
|
362
|
+
**Click-to-Open Rate (CTOR)**:
|
|
363
|
+
- Formula: (Clicks / Opens) × 100
|
|
364
|
+
- Benchmark: 10-15%
|
|
365
|
+
- Measures email content effectiveness
|
|
366
|
+
|
|
367
|
+
**Conversion Rate**:
|
|
368
|
+
- Formula: (Conversions / Emails delivered) × 100
|
|
369
|
+
- Benchmark: 1-5% (varies by goal)
|
|
370
|
+
- Ultimate measure of email success
|
|
371
|
+
|
|
372
|
+
**Bounce Rate**:
|
|
373
|
+
- Hard bounces: Invalid email addresses (remove immediately)
|
|
374
|
+
- Soft bounces: Temporary issues (full inbox, server down)
|
|
375
|
+
- Target: < 2%
|
|
376
|
+
|
|
377
|
+
**Unsubscribe Rate**:
|
|
378
|
+
- Formula: (Unsubscribes / Emails delivered) × 100
|
|
379
|
+
- Benchmark: < 0.5%
|
|
380
|
+
- High rate indicates poor targeting or frequency
|
|
381
|
+
|
|
382
|
+
**List Growth Rate**:
|
|
383
|
+
- Formula: [(New subscribers - Unsubscribes) / Total subscribers] × 100
|
|
384
|
+
- Target: 2-5% per month
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## Best Practices Summary
|
|
389
|
+
|
|
390
|
+
### DO
|
|
391
|
+
|
|
392
|
+
✅ Personalize subject lines and content
|
|
393
|
+
✅ Optimize for mobile devices
|
|
394
|
+
✅ Segment your email list
|
|
395
|
+
✅ A/B test subject lines and content
|
|
396
|
+
✅ Include clear, compelling CTAs
|
|
397
|
+
✅ Maintain consistent sending schedule
|
|
398
|
+
✅ Monitor deliverability metrics
|
|
399
|
+
✅ Comply with CAN-SPAM and GDPR
|
|
400
|
+
|
|
401
|
+
### DON'T
|
|
402
|
+
|
|
403
|
+
❌ Buy email lists
|
|
404
|
+
❌ Send without permission (opt-in)
|
|
405
|
+
❌ Use deceptive subject lines
|
|
406
|
+
❌ Forget to include unsubscribe link
|
|
407
|
+
❌ Send too frequently
|
|
408
|
+
❌ Ignore mobile optimization
|
|
409
|
+
❌ Use image-only emails
|
|
410
|
+
❌ Neglect email authentication (SPF, DKIM, DMARC)
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## Tools and Resources
|
|
415
|
+
|
|
416
|
+
### Email Service Providers (ESPs)
|
|
417
|
+
|
|
418
|
+
- **Mailchimp**: Beginner-friendly, free tier available
|
|
419
|
+
- **Constant Contact**: Small business focused
|
|
420
|
+
- **HubSpot**: All-in-one marketing platform
|
|
421
|
+
- **ActiveCampaign**: Advanced automation
|
|
422
|
+
- **SendGrid**: Developer-friendly, transactional emails
|
|
423
|
+
- **ConvertKit**: Creator-focused
|
|
424
|
+
|
|
425
|
+
### Testing and Optimization
|
|
426
|
+
|
|
427
|
+
- **Litmus**: Email testing across clients
|
|
428
|
+
- **Email on Acid**: Email rendering and spam testing
|
|
429
|
+
- **Mail Tester**: Spam score checker
|
|
430
|
+
- **Really Good Emails**: Design inspiration
|
|
431
|
+
|
|
432
|
+
### Learning Resources
|
|
433
|
+
|
|
434
|
+
- **Really Good Emails**: Email design examples
|
|
435
|
+
- **Email Marketing Rules**: CAN-SPAM compliance guide
|
|
436
|
+
- **Litmus Blog**: Email marketing best practices
|
|
437
|
+
- **Campaign Monitor Resources**: Email marketing guides
|
|
438
|
+
|
|
439
|
+
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# Legal Compliance Standards
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Guidelines for ensuring marketing content complies with FTC, CAN-SPAM, GDPR, WCAG, and other legal requirements.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## FTC Guidelines (Federal Trade Commission)
|
|
10
|
+
|
|
11
|
+
### Disclosure Requirements
|
|
12
|
+
|
|
13
|
+
**Sponsored Content**:
|
|
14
|
+
- Clearly label sponsored posts with "Sponsored", "Ad", or "Paid Partnership"
|
|
15
|
+
- Place disclosure above the fold, before "Read More" links
|
|
16
|
+
- Use clear, unambiguous language (not just #ad or #sponsored)
|
|
17
|
+
|
|
18
|
+
**Affiliate Links**:
|
|
19
|
+
- Disclose affiliate relationships before links
|
|
20
|
+
- Use language like "This post contains affiliate links"
|
|
21
|
+
- Make disclosure visible and understandable
|
|
22
|
+
|
|
23
|
+
**Endorsements and Testimonials**:
|
|
24
|
+
- Disclose material connections (payment, free products, relationships)
|
|
25
|
+
- Ensure testimonials reflect typical results or include disclaimer
|
|
26
|
+
- Don't use fake reviews or testimonials
|
|
27
|
+
|
|
28
|
+
### Example Disclosures
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
**Disclosure**: This post contains affiliate links. We may earn a commission if you make a purchase through these links at no additional cost to you.
|
|
32
|
+
|
|
33
|
+
**Sponsored**: This content is sponsored by [Brand Name]. All opinions are our own.
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## CAN-SPAM Act (Email Marketing)
|
|
39
|
+
|
|
40
|
+
### Required Elements
|
|
41
|
+
|
|
42
|
+
1. **Accurate Header Information**:
|
|
43
|
+
- From, To, Reply-To must be accurate
|
|
44
|
+
- Subject line must reflect email content
|
|
45
|
+
- No deceptive routing information
|
|
46
|
+
|
|
47
|
+
2. **Clear Identification as Advertisement**:
|
|
48
|
+
- Label promotional emails clearly
|
|
49
|
+
- Use "Advertisement" or "Promotional" in subject or body
|
|
50
|
+
|
|
51
|
+
3. **Physical Postal Address**:
|
|
52
|
+
- Include valid physical postal address
|
|
53
|
+
- Can be street address or P.O. Box
|
|
54
|
+
|
|
55
|
+
4. **Unsubscribe Mechanism**:
|
|
56
|
+
- Provide clear, conspicuous unsubscribe link
|
|
57
|
+
- Process opt-outs within 10 business days
|
|
58
|
+
- Don't require login to unsubscribe
|
|
59
|
+
- Don't charge fees for unsubscribing
|
|
60
|
+
|
|
61
|
+
5. **Honor Opt-Outs Promptly**:
|
|
62
|
+
- Stop sending emails within 10 business days
|
|
63
|
+
- Don't sell or transfer email addresses of opt-outs
|
|
64
|
+
|
|
65
|
+
### Email Footer Template
|
|
66
|
+
|
|
67
|
+
```html
|
|
68
|
+
<footer>
|
|
69
|
+
<p>You're receiving this email because you subscribed to our newsletter.</p>
|
|
70
|
+
<p><a href="{{unsubscribe_link}}">Unsubscribe</a> | <a href="{{preferences_link}}">Update Preferences</a></p>
|
|
71
|
+
<p>{{Company Name}}<br>
|
|
72
|
+
{{Street Address}}<br>
|
|
73
|
+
{{City, State ZIP}}</p>
|
|
74
|
+
</footer>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## GDPR (General Data Protection Regulation)
|
|
80
|
+
|
|
81
|
+
### Consent Requirements
|
|
82
|
+
|
|
83
|
+
**Explicit Consent**:
|
|
84
|
+
- Use clear, affirmative action (checkbox, button)
|
|
85
|
+
- Don't use pre-checked boxes
|
|
86
|
+
- Separate consent for different purposes
|
|
87
|
+
- Provide granular control (email, SMS, phone)
|
|
88
|
+
|
|
89
|
+
**Consent Language**:
|
|
90
|
+
```html
|
|
91
|
+
<label>
|
|
92
|
+
<input type="checkbox" name="marketing_consent" required>
|
|
93
|
+
I consent to receive marketing emails from [Company]. I understand I can withdraw consent at any time.
|
|
94
|
+
</label>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Data Processing Transparency
|
|
98
|
+
|
|
99
|
+
**Privacy Policy Must Include**:
|
|
100
|
+
- What data is collected
|
|
101
|
+
- How data is used
|
|
102
|
+
- Who data is shared with
|
|
103
|
+
- How long data is retained
|
|
104
|
+
- User rights (access, deletion, portability)
|
|
105
|
+
|
|
106
|
+
### User Rights
|
|
107
|
+
|
|
108
|
+
1. **Right to Access**: Provide data upon request
|
|
109
|
+
2. **Right to Erasure**: Delete data upon request ("right to be forgotten")
|
|
110
|
+
3. **Right to Portability**: Export data in machine-readable format
|
|
111
|
+
4. **Right to Rectification**: Correct inaccurate data
|
|
112
|
+
|
|
113
|
+
### Cookie Consent
|
|
114
|
+
|
|
115
|
+
```html
|
|
116
|
+
<div class="cookie-banner">
|
|
117
|
+
<p>We use cookies to improve your experience. By continuing, you consent to our use of cookies.</p>
|
|
118
|
+
<button onclick="acceptCookies()">Accept</button>
|
|
119
|
+
<button onclick="rejectCookies()">Reject</button>
|
|
120
|
+
<a href="/privacy-policy">Learn More</a>
|
|
121
|
+
</div>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## WCAG 2.1 AA (Web Content Accessibility Guidelines)
|
|
127
|
+
|
|
128
|
+
### Color Contrast Requirements
|
|
129
|
+
|
|
130
|
+
- **Normal Text**: Minimum 4.5:1 contrast ratio
|
|
131
|
+
- **Large Text** (18pt+ or 14pt+ bold): Minimum 3:1 contrast ratio
|
|
132
|
+
- **Interactive Elements**: Minimum 3:1 contrast ratio
|
|
133
|
+
|
|
134
|
+
**Tools**: WebAIM Contrast Checker, Chrome DevTools
|
|
135
|
+
|
|
136
|
+
### Keyboard Navigation
|
|
137
|
+
|
|
138
|
+
- All interactive elements accessible via keyboard
|
|
139
|
+
- Visible focus indicators (outline, border, background change)
|
|
140
|
+
- Logical tab order (left-to-right, top-to-bottom)
|
|
141
|
+
- Skip navigation links for screen readers
|
|
142
|
+
|
|
143
|
+
### Alternative Text
|
|
144
|
+
|
|
145
|
+
**Images**:
|
|
146
|
+
```html
|
|
147
|
+
<img src="product.jpg" alt="Blue running shoes with white laces">
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Decorative Images**:
|
|
151
|
+
```html
|
|
152
|
+
<img src="decoration.jpg" alt="" role="presentation">
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**Complex Images** (charts, diagrams):
|
|
156
|
+
- Provide detailed description in adjacent text or `<figcaption>`
|
|
157
|
+
|
|
158
|
+
### Semantic HTML
|
|
159
|
+
|
|
160
|
+
```html
|
|
161
|
+
<!-- DO -->
|
|
162
|
+
<nav>
|
|
163
|
+
<ul>
|
|
164
|
+
<li><a href="/">Home</a></li>
|
|
165
|
+
</ul>
|
|
166
|
+
</nav>
|
|
167
|
+
|
|
168
|
+
<!-- DON'T -->
|
|
169
|
+
<div class="nav">
|
|
170
|
+
<div class="link" onclick="navigate()">Home</div>
|
|
171
|
+
</div>
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Copyright and Trademark Usage
|
|
177
|
+
|
|
178
|
+
### Copyright
|
|
179
|
+
|
|
180
|
+
- **Original Content**: Automatically copyrighted upon creation
|
|
181
|
+
- **Attribution**: Credit sources when using others' content
|
|
182
|
+
- **Fair Use**: Limited use for commentary, criticism, education
|
|
183
|
+
- **Licensing**: Respect Creative Commons and other licenses
|
|
184
|
+
|
|
185
|
+
### Trademarks
|
|
186
|
+
|
|
187
|
+
- Use ™ for unregistered trademarks
|
|
188
|
+
- Use ® for registered trademarks
|
|
189
|
+
- Don't use competitors' trademarks in misleading ways
|
|
190
|
+
- Follow brand guidelines when mentioning other brands
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Privacy Policy Requirements
|
|
195
|
+
|
|
196
|
+
### Essential Sections
|
|
197
|
+
|
|
198
|
+
1. **Information Collection**: What data is collected (name, email, IP, cookies)
|
|
199
|
+
2. **Use of Information**: How data is used (marketing, analytics, personalization)
|
|
200
|
+
3. **Data Sharing**: Third parties with access (analytics, email providers)
|
|
201
|
+
4. **Data Security**: How data is protected (encryption, secure servers)
|
|
202
|
+
5. **User Rights**: How to access, modify, delete data
|
|
203
|
+
6. **Contact Information**: How to reach privacy officer
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Compliance Checklist
|
|
208
|
+
|
|
209
|
+
Before publishing marketing content:
|
|
210
|
+
|
|
211
|
+
- [ ] **FTC**: Disclosures for sponsored content and affiliate links
|
|
212
|
+
- [ ] **CAN-SPAM**: Unsubscribe link, physical address, accurate headers
|
|
213
|
+
- [ ] **GDPR**: Explicit consent, privacy policy link, data rights
|
|
214
|
+
- [ ] **WCAG**: 4.5:1 color contrast, alt text, keyboard navigation
|
|
215
|
+
- [ ] **Copyright**: Proper attribution for images and quotes
|
|
216
|
+
- [ ] **Trademarks**: Correct usage of ™ and ® symbols
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Resources
|
|
221
|
+
|
|
222
|
+
- **FTC**: [ftc.gov/business-guidance](https://www.ftc.gov/business-guidance)
|
|
223
|
+
- **CAN-SPAM**: [ftc.gov/can-spam](https://www.ftc.gov/tips-advice/business-center/guidance/can-spam-act-compliance-guide-business)
|
|
224
|
+
- **GDPR**: [gdpr.eu](https://gdpr.eu/)
|
|
225
|
+
- **WCAG**: [w3.org/WAI/WCAG21/quickref](https://www.w3.org/WAI/WCAG21/quickref/)
|
|
226
|
+
- **Accessibility Testing**: WebAIM, WAVE, axe DevTools
|
|
227
|
+
|