diff --git a/src/app/commoncomponents/ConfirmDialog.qml b/src/app/commoncomponents/ConfirmDialog.qml
index 28d5eb7b10b7dadb1242ee2dc4140def42182989..ba570572871ad8f125ac9020cb0cdd3cf8d1a0f9 100644
--- a/src/app/commoncomponents/ConfirmDialog.qml
+++ b/src/app/commoncomponents/ConfirmDialog.qml
@@ -74,6 +74,7 @@ BaseModalDialog {
                 hoveredColor: JamiTheme.buttonTintedRedHovered
                 pressedColor: JamiTheme.buttonTintedRedPressed
                 secondary: true
+                autoAccelerator: true
 
                 onClicked: {
                     close()
@@ -93,6 +94,7 @@ BaseModalDialog {
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
                 secondary: true
+                autoAccelerator: true
 
                 text: JamiStrings.optionCancel
 
diff --git a/src/app/commoncomponents/DaemonReconnectPopup.qml b/src/app/commoncomponents/DaemonReconnectPopup.qml
index bbe5d860a477b69ebcf5916a4ca6ad402c5551a6..1bbdcc6df0eda7ca00a5af0bd821e6c4beebc94f 100644
--- a/src/app/commoncomponents/DaemonReconnectPopup.qml
+++ b/src/app/commoncomponents/DaemonReconnectPopup.qml
@@ -92,6 +92,7 @@ BaseModalDialog {
             hoveredColor: JamiTheme.buttonTintedBlueHovered
             pressedColor: JamiTheme.buttonTintedBluePressed
             secondary: true
+                autoAccelerator: true
 
             onClicked: Qt.quit()
         }
diff --git a/src/app/commoncomponents/DeleteAccountDialog.qml b/src/app/commoncomponents/DeleteAccountDialog.qml
index e47a5ea219f6db65c6c716939208801599021744..faa875dca9613592138de8a500c5a9ae4dd13e16 100644
--- a/src/app/commoncomponents/DeleteAccountDialog.qml
+++ b/src/app/commoncomponents/DeleteAccountDialog.qml
@@ -134,6 +134,7 @@ BaseModalDialog {
                 hoveredColor: JamiTheme.buttonTintedRedHovered
                 pressedColor: JamiTheme.buttonTintedRedPressed
                 secondary: true
+                autoAccelerator: true
 
                 text: JamiStrings.optionDelete
 
@@ -175,6 +176,7 @@ BaseModalDialog {
                 secondary: true
 
                 text: JamiStrings.optionCancel
+                autoAccelerator: true
 
                 onClicked: close()
             }
diff --git a/src/app/commoncomponents/MaterialButton.qml b/src/app/commoncomponents/MaterialButton.qml
index 79a9ca51510d2bbeb862a96dd4591fbe1347d741..402ce2aab302e1279de107afae1e2b0d186c3fb5 100644
--- a/src/app/commoncomponents/MaterialButton.qml
+++ b/src/app/commoncomponents/MaterialButton.qml
@@ -28,6 +28,7 @@ import net.jami.Constants 1.1
 AbstractButton {
     id: root
 
+    property bool autoAccelerator: false
     property bool boldFont: false
     property bool primary: false
     property bool secondary: false
@@ -242,4 +243,15 @@ AbstractButton {
         cursorShape: root.hovered ? Qt.PointingHandCursor : Qt.ArrowCursor
     }
 
+    Shortcut {
+        enabled: text.length > 0 && parent.visible && autoAccelerator
+        sequence: {
+            if (text.length === 0)
+                return ""
+            return "Alt+" + text[0]
+        }
+        context: Qt.ApplicationShortcut
+        onActivated: clicked()
+    }
+
 }
diff --git a/src/app/commoncomponents/PasswordDialog.qml b/src/app/commoncomponents/PasswordDialog.qml
index b5b8392ebf2aa24c1ad9bfe9b27973642dde563f..44d2bea3afe4f33c3176a2bfed035957dbe2ad5d 100644
--- a/src/app/commoncomponents/PasswordDialog.qml
+++ b/src/app/commoncomponents/PasswordDialog.qml
@@ -187,6 +187,7 @@ BaseModalDialog {
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
                 secondary: true
+                autoAccelerator: true
                 enabled: purpose === PasswordDialog.SetPassword
 
                 text: (purpose === PasswordDialog.ExportAccount) ? JamiStrings.exportAccount :
@@ -209,6 +210,7 @@ BaseModalDialog {
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
                 secondary: true
+                autoAccelerator: true
 
                 text: JamiStrings.optionCancel
 
diff --git a/src/app/commoncomponents/SimpleMessageDialog.qml b/src/app/commoncomponents/SimpleMessageDialog.qml
index 55467e06baf0671af51dc17f73d920d7f1e475ef..be2fb0aba3f1a7a6e4c0478f4693acd31e5b4b7d 100644
--- a/src/app/commoncomponents/SimpleMessageDialog.qml
+++ b/src/app/commoncomponents/SimpleMessageDialog.qml
@@ -122,6 +122,7 @@ BaseModalDialog {
                         }
                     }
                     secondary: true
+                    autoAccelerator: true
 
                     text: buttonTitles[modelData]
 
diff --git a/src/app/mainview/components/FilesToSendDelegate.qml b/src/app/mainview/components/FilesToSendDelegate.qml
index 426bad5607ac0e706c8a6235af4530bb2ccdcf75..7f7fa950aa63d183c87ce8b535a7c6ee9dff8c01 100644
--- a/src/app/mainview/components/FilesToSendDelegate.qml
+++ b/src/app/mainview/components/FilesToSendDelegate.qml
@@ -130,7 +130,7 @@ Rectangle {
         radius: margin
         preferredSize: JamiTheme.filesToSendDelegateButtonSize
 
-        toolTipText: JamiStrings.remove
+        toolTipText: JamiStrings.optionRemove
 
         source: JamiResources.cross_black_24dp_svg
 
diff --git a/src/app/mainview/components/NewSwarmPage.qml b/src/app/mainview/components/NewSwarmPage.qml
index 50cb0a553a418dec7568c39cbef0dc9eb4c12cc4..1a00870c4c347d0be22ee7b13e855b15aa4fdb3b 100644
--- a/src/app/mainview/components/NewSwarmPage.qml
+++ b/src/app/mainview/components/NewSwarmPage.qml
@@ -191,6 +191,7 @@ Rectangle {
 
             Layout.alignment: Qt.AlignCenter
             Layout.topMargin: JamiTheme.preferredMarginSize
+            autoAccelerator: true
 
             preferredWidth: JamiTheme.aboutButtonPreferredWidth
 
diff --git a/src/app/mainview/components/ReadOnlyFooter.qml b/src/app/mainview/components/ReadOnlyFooter.qml
index d0e463eeebe06dab095a282e4beb87c391e868c4..e639dfb5e0f3de0bd33f2fb037dda8a4e189e1b6 100644
--- a/src/app/mainview/components/ReadOnlyFooter.qml
+++ b/src/app/mainview/components/ReadOnlyFooter.qml
@@ -60,6 +60,7 @@ Control {
 
             MaterialButton {
                 text: JamiStrings.removeContact
+                autoAccelerator: true
                 font.pointSize: JamiTheme.textFontSize + 2
                 onClicked: MessagesAdapter.removeContact(
                                LRCInstance.selectedConvUid)
@@ -67,6 +68,7 @@ Control {
 
             MaterialButton {
                 text: JamiStrings.newConversation
+                autoAccelerator: true
                 font.pointSize: JamiTheme.textFontSize + 2
                 onClicked: ConversationsAdapter.restartConversation(
                                LRCInstance.selectedConvUid)
diff --git a/src/app/mainview/components/SelectScreen.qml b/src/app/mainview/components/SelectScreen.qml
index 10d876e0c8679d44bcc75167841cd9cc1867f62a..ce109c0f0bf5531f078530e9490f1f633aee686d 100644
--- a/src/app/mainview/components/SelectScreen.qml
+++ b/src/app/mainview/components/SelectScreen.qml
@@ -369,6 +369,7 @@ Window {
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
             secondary: true
+            autoAccelerator: true
 
             text: window ? JamiStrings.shareWindow : JamiStrings.shareScreen
 
@@ -398,6 +399,7 @@ Window {
             hoveredColor: JamiTheme.buttonTintedBlackHovered
             pressedColor: JamiTheme.buttonTintedBlackPressed
             secondary: true
+            autoAccelerator: true
 
             text: JamiStrings.optionCancel
 
diff --git a/src/app/settingsview/components/LinkDeviceDialog.qml b/src/app/settingsview/components/LinkDeviceDialog.qml
index 379cb876eb02b5c81b6a78342d37728b472a406b..6b4db3294ad734f6e805a0302bd5866e88945b70 100644
--- a/src/app/settingsview/components/LinkDeviceDialog.qml
+++ b/src/app/settingsview/components/LinkDeviceDialog.qml
@@ -170,6 +170,7 @@ BaseModalDialog {
                         hoveredColor: JamiTheme.buttonTintedBlackHovered
                         pressedColor: JamiTheme.buttonTintedBlackPressed
                         secondary: true
+                        autoAccelerator: true
                         enabled: false
 
                         text: JamiStrings.exportAccount
@@ -189,6 +190,7 @@ BaseModalDialog {
                         hoveredColor: JamiTheme.buttonTintedBlackHovered
                         pressedColor: JamiTheme.buttonTintedBlackPressed
                         secondary: true
+                        autoAccelerator: true
                         enabled: true
 
                         text: JamiStrings.optionCancel
diff --git a/src/app/settingsview/components/LogsView.qml b/src/app/settingsview/components/LogsView.qml
index 07917ac63bf5f62d4dad51e27b746bef3d2f59bf..2073f9212eafe5c0b07ba5d05207dce095e77d5a 100644
--- a/src/app/settingsview/components/LogsView.qml
+++ b/src/app/settingsview/components/LogsView.qml
@@ -152,6 +152,7 @@ Window {
                     hoveredColor: JamiTheme.buttonTintedBlackHovered
                     pressedColor: JamiTheme.buttonTintedBlackPressed
                     text: JamiStrings.logsViewClear
+                    autoAccelerator: true
 
                     onClicked: {
                         logsText.clear()
@@ -177,6 +178,7 @@ Window {
 
                     secondary: true
                     text: JamiStrings.logsViewCopy
+                    autoAccelerator: true
 
                     onClicked: {
                         logsText.selectAll()
@@ -215,6 +217,7 @@ Window {
                     pressedColor: JamiTheme.buttonTintedBlackPressed
                     text: JamiStrings.logsViewReport
                     secondary: true
+                    autoAccelerator: true
 
                     onClicked: Qt.openUrlExternally(
                                    "https://jami.net/bugs-and-improvements/")
diff --git a/src/app/settingsview/components/RevokeDevicePasswordDialog.qml b/src/app/settingsview/components/RevokeDevicePasswordDialog.qml
index 97dcdf19afa51508d62a1b1cfd937c3ecb7621c2..1917828763938a6b75570e89f2c25a18e5ae40e5 100644
--- a/src/app/settingsview/components/RevokeDevicePasswordDialog.qml
+++ b/src/app/settingsview/components/RevokeDevicePasswordDialog.qml
@@ -100,9 +100,10 @@ BaseModalDialog {
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
                 secondary: true
+                autoAccelerator: true
                 enabled: false
 
-                text: JamiStrings.remove
+                text: JamiStrings.optionRemove
 
                 onClicked: {
                     revokeDeviceWithPassword(deviceId, passwordEdit.text)
@@ -122,6 +123,7 @@ BaseModalDialog {
                 hoveredColor: JamiTheme.buttonTintedBlackHovered
                 pressedColor: JamiTheme.buttonTintedBlackPressed
                 secondary: true
+                autoAccelerator: true
                 enabled: true
 
                 text: JamiStrings.optionCancel
diff --git a/src/app/settingsview/components/UpdateSettings.qml b/src/app/settingsview/components/UpdateSettings.qml
index 7e110a5b0f665e7bdf493555d7f3e05c9571d364..d24c35cf1cbe99e2a5ffc68ba91837328d8dc0c6 100644
--- a/src/app/settingsview/components/UpdateSettings.qml
+++ b/src/app/settingsview/components/UpdateSettings.qml
@@ -76,6 +76,7 @@ ColumnLayout {
         hoveredColor: JamiTheme.buttonTintedBlackHovered
         pressedColor: JamiTheme.buttonTintedBlackPressed
         secondary: true
+        autoAccelerator: true
 
         toolTipText: JamiStrings.checkForUpdates
         text: JamiStrings.checkForUpdates
@@ -97,6 +98,7 @@ ColumnLayout {
         hoveredColor: JamiTheme.buttonTintedBlackHovered
         pressedColor: JamiTheme.buttonTintedBlackPressed
         secondary: true
+        autoAccelerator: true
 
         toolTipText: JamiStrings.betaInstall
         text: JamiStrings.betaInstall
diff --git a/src/app/wizardview/components/BackupKeyPage.qml b/src/app/wizardview/components/BackupKeyPage.qml
index 7eb3344ad5ddce451127f5dc48889b092c9b50ed..2b62bcd89a704e6520b232c4d6b1851596912f6c 100644
--- a/src/app/wizardview/components/BackupKeyPage.qml
+++ b/src/app/wizardview/components/BackupKeyPage.qml
@@ -198,6 +198,7 @@ Rectangle {
             preferredWidth: JamiTheme.wizardButtonWidth
 
             text: JamiStrings.backupAccountBtn
+            autoAccelerator: true
             color: JamiTheme.buttonTintedGrey
             hoveredColor: JamiTheme.buttonTintedGreyHovered
             pressedColor: JamiTheme.buttonTintedGreyPressed
@@ -220,6 +221,7 @@ Rectangle {
             preferredWidth: JamiTheme.wizardButtonWidth
 
             text: JamiStrings.skip
+            autoAccelerator: true
             color: JamiTheme.buttonTintedGrey
             hoveredColor: JamiTheme.buttonTintedGreyHovered
             pressedColor: JamiTheme.buttonTintedGreyPressed