diff --git a/framework/core/js/src/forum/components/AvatarEditor.js b/framework/core/js/src/forum/components/AvatarEditor.js
index fd1da1422..ff727e155 100644
--- a/framework/core/js/src/forum/components/AvatarEditor.js
+++ b/framework/core/js/src/forum/components/AvatarEditor.js
@@ -42,9 +42,10 @@ export default class AvatarEditor extends Component {
     return (
       <div className={classList(['AvatarEditor', 'Dropdown', this.attrs.className, this.loading && 'loading', this.isDraggedOver && 'dragover'])}>
         <Avatar user={user} loading="eager" />
-        <a
+        <button
           className={user.avatarUrl() ? 'Dropdown-toggle' : 'Dropdown-toggle AvatarEditor--noAvatar'}
           title={app.translator.trans('core.forum.user.avatar_upload_tooltip')}
+          ariaLabel={app.translator.trans('core.forum.user.avatar_upload_tooltip')}
           data-toggle="dropdown"
           onclick={this.quickUpload.bind(this)}
           ondragover={this.enableDragover.bind(this)}
@@ -60,7 +61,7 @@ export default class AvatarEditor extends Component {
           ) : (
             <Icon name={'fas fa-plus-circle'} />
           )}
-        </a>
+        </button>
         <ul className="Dropdown-menu Menu">{listItems(this.controlItems().toArray())}</ul>
       </div>
     );
diff --git a/framework/core/js/src/forum/components/DiscussionListItem.tsx b/framework/core/js/src/forum/components/DiscussionListItem.tsx
index a77e0c9f6..b5d4825c2 100644
--- a/framework/core/js/src/forum/components/DiscussionListItem.tsx
+++ b/framework/core/js/src/forum/components/DiscussionListItem.tsx
@@ -312,7 +312,7 @@ export default class DiscussionListItem<CustomAttrs extends IDiscussionListItemA
         className="DiscussionListItem-count"
         icon={showUnread ? [<Icon name={'fas fa-check _checkmark'} />, <Icon name={'fas fa-comment _comment'} />] : <Icon name={'far fa-comment'} />}
         label={showUnread ? abbreviateNumber(discussion.unreadCount()) : abbreviateNumber(discussion.replyCount())}
-        a11yLabel={app.translator.trans(a11yKey, { count: discussion.unreadCount() })}
+        ariaLabel={app.translator.trans(a11yKey, { count: discussion.unreadCount() })}
         onclick={showUnread ? this.markAsRead.bind(this) : undefined}
       />
     );
diff --git a/framework/core/less/forum/AvatarEditor.less b/framework/core/less/forum/AvatarEditor.less
index af78b1a3a..f038bd70e 100644
--- a/framework/core/less/forum/AvatarEditor.less
+++ b/framework/core/less/forum/AvatarEditor.less
@@ -15,6 +15,8 @@
     inset: 0;
     border-radius: 100%;
     background: rgba(0, 0, 0, 0.6);
+    color: #fff;
+    cursor: pointer;
     text-align: center;
     text-decoration: none;
     border: 0;
@@ -23,6 +25,7 @@
     opacity: 0.7;
   }
   &:hover .Dropdown-toggle,
+  .Dropdown-toggle:focus,
   &.open .Dropdown-toggle,
   &.loading .Dropdown-toggle,
   &.dragover .Dropdown-toggle {