diff --git a/app/assets/javascripts/discourse/app/templates/components/badge-title.hbs b/app/assets/javascripts/discourse/app/templates/components/badge-title.hbs
index 62e7b1e8863..44238820190 100644
--- a/app/assets/javascripts/discourse/app/templates/components/badge-title.hbs
+++ b/app/assets/javascripts/discourse/app/templates/components/badge-title.hbs
@@ -1,5 +1,5 @@
 <div class="badge-title">
-  <section class="user-content">
+  <section class="user-content" id="user-content">
     <form class="form-horizontal">
       <div class="control-group">
         <div class="controls">
diff --git a/app/assets/javascripts/discourse/app/templates/group/activity.hbs b/app/assets/javascripts/discourse/app/templates/group/activity.hbs
index b916428639f..98e6fa05b7e 100644
--- a/app/assets/javascripts/discourse/app/templates/group/activity.hbs
+++ b/app/assets/javascripts/discourse/app/templates/group/activity.hbs
@@ -16,6 +16,6 @@
     <PluginOutlet @name="group-activity-bottom" @connectorTagName="li" />
   </MobileNav>
 </section>
-<section class="user-content">
+<section class="user-content" id="user-content">
   {{outlet}}
 </section>
\ No newline at end of file
diff --git a/app/assets/javascripts/discourse/app/templates/group/manage.hbs b/app/assets/javascripts/discourse/app/templates/group/manage.hbs
index 4e1d80cfc33..f103e7f3ed3 100644
--- a/app/assets/javascripts/discourse/app/templates/group/manage.hbs
+++ b/app/assets/javascripts/discourse/app/templates/group/manage.hbs
@@ -12,6 +12,6 @@
     {{/each}}
   </MobileNav>
 </section>
-<section class="user-content">
+<section class="user-content" id="user-content">
   {{outlet}}
 </section>
\ No newline at end of file
diff --git a/app/assets/javascripts/discourse/app/templates/group/messages.hbs b/app/assets/javascripts/discourse/app/templates/group/messages.hbs
index dc985edf674..b5919924c68 100644
--- a/app/assets/javascripts/discourse/app/templates/group/messages.hbs
+++ b/app/assets/javascripts/discourse/app/templates/group/messages.hbs
@@ -12,6 +12,6 @@
     </li>
   </MobileNav>
 </section>
-<section class="user-content">
+<section class="user-content" id="user-content">
   {{outlet}}
 </section>
\ No newline at end of file
diff --git a/app/assets/javascripts/discourse/app/templates/group/permissions.hbs b/app/assets/javascripts/discourse/app/templates/group/permissions.hbs
index 6ad2d05354c..fcd231f6b15 100644
--- a/app/assets/javascripts/discourse/app/templates/group/permissions.hbs
+++ b/app/assets/javascripts/discourse/app/templates/group/permissions.hbs
@@ -1,4 +1,4 @@
-<section class="user-content">
+<section class="user-content" id="user-content">
   {{#if this.model.permissions}}
     <label class="group-category-permissions-desc">
       {{i18n "groups.permissions.description"}}
diff --git a/app/assets/javascripts/discourse/app/templates/preferences.hbs b/app/assets/javascripts/discourse/app/templates/preferences.hbs
index 37b0bbad137..d95715f11ab 100644
--- a/app/assets/javascripts/discourse/app/templates/preferences.hbs
+++ b/app/assets/javascripts/discourse/app/templates/preferences.hbs
@@ -104,7 +104,7 @@
   </DSection>
 {{/if}}
 
-<section class="user-content user-preferences">
+<section class="user-content user-preferences" id="user-content">
   <PluginOutlet
     @name="above-user-preferences"
     @tagName="span"
diff --git a/app/assets/javascripts/discourse/app/templates/user-invited-show.hbs b/app/assets/javascripts/discourse/app/templates/user-invited-show.hbs
index f429025a355..9332b72c82b 100644
--- a/app/assets/javascripts/discourse/app/templates/user-invited-show.hbs
+++ b/app/assets/javascripts/discourse/app/templates/user-invited-show.hbs
@@ -2,6 +2,7 @@
   {{#if this.canInviteToForum}}
     <LoadMore
       @class="user-content"
+      @id="user-content"
       @selector=".user-invite-list tr"
       @action={{action "loadMore"}}
     >
diff --git a/app/assets/javascripts/discourse/app/templates/user.hbs b/app/assets/javascripts/discourse/app/templates/user.hbs
index 803efde906a..8d8b1e5d8d9 100644
--- a/app/assets/javascripts/discourse/app/templates/user.hbs
+++ b/app/assets/javascripts/discourse/app/templates/user.hbs
@@ -10,6 +10,9 @@
     {{this.primaryGroup}}"
 >
   <DSection @class="user-main">
+    <a href="#user-content" id="skip-link" class="skip-link__user-nav">
+      {{i18n "skip_user_nav"}}
+    </a>
     <section
       class="{{if this.collapsedInfo 'collapsed-info'}}
         about
diff --git a/app/assets/javascripts/discourse/app/templates/user/activity.hbs b/app/assets/javascripts/discourse/app/templates/user/activity.hbs
index 8277d60f62c..e1e326f6442 100644
--- a/app/assets/javascripts/discourse/app/templates/user/activity.hbs
+++ b/app/assets/javascripts/discourse/app/templates/user/activity.hbs
@@ -89,6 +89,6 @@
   {{/if}}
 {{/if}}
 
-<section class="user-content">
+<section class="user-content" id="user-content">
   {{outlet}}
 </section>
\ No newline at end of file
diff --git a/app/assets/javascripts/discourse/app/templates/user/badges.hbs b/app/assets/javascripts/discourse/app/templates/user/badges.hbs
index 00dd25bc3bb..28e7b9ef656 100644
--- a/app/assets/javascripts/discourse/app/templates/user/badges.hbs
+++ b/app/assets/javascripts/discourse/app/templates/user/badges.hbs
@@ -1,4 +1,4 @@
-<DSection @pageClass="user-badges" @class="user-content">
+<DSection @pageClass="user-badges" @class="user-content" id="user-content">
   <p class="favorite-count">
     {{i18n
       "badges.favorite_count"
diff --git a/app/assets/javascripts/discourse/app/templates/user/messages.hbs b/app/assets/javascripts/discourse/app/templates/user/messages.hbs
index 86130270f3b..a665dd4b31f 100644
--- a/app/assets/javascripts/discourse/app/templates/user/messages.hbs
+++ b/app/assets/javascripts/discourse/app/templates/user/messages.hbs
@@ -184,7 +184,7 @@
   {{/unless}}
 {{/if}}
 
-<section class="user-content">
+<section class="user-content" id="user-content">
   {{#unless this.currentUser.redesigned_user_page_nav_enabled}}
     <div class="list-actions">
       {{#if this.site.mobileView}}
diff --git a/app/assets/javascripts/discourse/app/templates/user/notifications.hbs b/app/assets/javascripts/discourse/app/templates/user/notifications.hbs
index b0fb828997d..6dcdf70fa6f 100644
--- a/app/assets/javascripts/discourse/app/templates/user/notifications.hbs
+++ b/app/assets/javascripts/discourse/app/templates/user/notifications.hbs
@@ -80,7 +80,7 @@
   {{/if}}
 {{/if}}
 
-<section class="user-content">
+<section class="user-content" id="user-content">
   <LoadMore
     @class="notification-history user-stream"
     @selector=".user-stream .notification"
diff --git a/app/assets/javascripts/discourse/app/templates/user/summary.hbs b/app/assets/javascripts/discourse/app/templates/user/summary.hbs
index 1a40cb01214..def1f91c5ae 100644
--- a/app/assets/javascripts/discourse/app/templates/user/summary.hbs
+++ b/app/assets/javascripts/discourse/app/templates/user/summary.hbs
@@ -1,5 +1,5 @@
 <DSection @pageClass="user-summary" @tagName="">
-  <div class="user-content">
+  <div class="user-content" id="user-content">
     <PluginOutlet
       @name="above-user-summary-stats"
       @args={{hash model=this.model user=this.user}}
diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml
index 3f3c0a71454..7f926ba1bc6 100644
--- a/config/locales/client.en.yml
+++ b/config/locales/client.en.yml
@@ -197,6 +197,7 @@ en:
 
     topic_admin_menu: "topic actions"
     skip_to_main_content: "Skip to main content"
+    skip_user_nav: "Skip to profile content"
 
     emails_are_disabled: "All outgoing email has been globally disabled by an administrator. No email notifications of any kind will be sent."
     emails_are_disabled_non_staff: "Outgoing email has been disabled for non-staff users."