diff --git a/web/pgadmin/browser/server_groups/servers/templates/servers/password.html b/web/pgadmin/browser/server_groups/servers/templates/servers/password.html
index 3bae7c1..97c8907 100644
--- a/web/pgadmin/browser/server_groups/servers/templates/servers/password.html
+++ b/web/pgadmin/browser/server_groups/servers/templates/servers/password.html
@@ -24,7 +24,7 @@
                 <div class="pr-2">
                   <i class="fa fa-exclamation-triangle text-danger" aria-hidden="true"></i>
                 </div>
-                <div class="alert-text" role="status">{{ errmsg }}</div>
+                <div class="alert-text" role="alert">{{ errmsg }}</div>
               </div>
             </div>
         </div>
diff --git a/web/pgadmin/browser/server_groups/servers/templates/servers/tunnel_password.html b/web/pgadmin/browser/server_groups/servers/templates/servers/tunnel_password.html
index ed7df86..7ac05cd 100644
--- a/web/pgadmin/browser/server_groups/servers/templates/servers/tunnel_password.html
+++ b/web/pgadmin/browser/server_groups/servers/templates/servers/tunnel_password.html
@@ -44,7 +44,7 @@
                 <div class="pr-2">
                   <i class="fa fa-exclamation-triangle text-danger" aria-hidden="true"></i>
                 </div>
-                <div class="alert-text" role="status">{{ errmsg }}</div>
+                <div class="alert-text" role="alert">{{ errmsg }}</div>
               </div>
             </div>
         </div>
diff --git a/web/pgadmin/browser/static/js/browser.js b/web/pgadmin/browser/static/js/browser.js
index 1941ef9..c468e7e 100644
--- a/web/pgadmin/browser/static/js/browser.js
+++ b/web/pgadmin/browser/static/js/browser.js
@@ -201,7 +201,7 @@ define('pgadmin.browser', [
         isCloseable: false,
         isPrivate: true,
         elContainer: true,
-        content: '<div class="obj_properties container-fluid"><div class="alert alert-info pg-panel-message">' + select_object_msg + '</div></div>',
+        content: '<div class="obj_properties container-fluid"><div role="status" class="alert alert-info pg-panel-message">' + select_object_msg + '</div></div>',
         events: panelEvents,
         onCreate: function(myPanel, $container) {
           $container.addClass('pg-no-overflow');
@@ -215,7 +215,7 @@ define('pgadmin.browser', [
         width: 500,
         isCloseable: false,
         isPrivate: true,
-        content: '<div class="negative-space p-2"><div class="alert alert-info pg-panel-message pg-panel-statistics-message">' + select_object_msg + '</div><div class="pg-panel-statistics-container d-none"></div></div>',
+        content: '<div class="negative-space p-2"><div role="status" class="alert alert-info pg-panel-message pg-panel-statistics-message">' + select_object_msg + '</div><div class="pg-panel-statistics-container d-none"></div></div>',
         events: panelEvents,
       }),
       // Reversed engineered SQL for the object
@@ -236,7 +236,7 @@ define('pgadmin.browser', [
         width: 500,
         isCloseable: false,
         isPrivate: true,
-        content: '<div class="negative-space p-2"><div class="alert alert-info pg-panel-message pg-panel-depends-message">' + select_object_msg + '</div><div class="pg-panel-dependencies-container d-none"></div></div>',
+        content: '<div class="negative-space p-2"><div role="status" class="alert alert-info pg-panel-message pg-panel-depends-message">' + select_object_msg + '</div><div class="pg-panel-dependencies-container d-none"></div></div>',
         events: panelEvents,
       }),
       // Dependents of the object
@@ -247,7 +247,7 @@ define('pgadmin.browser', [
         width: 500,
         isCloseable: false,
         isPrivate: true,
-        content: '<div class="negative-space p-2"><div class="alert alert-info pg-panel-message pg-panel-depends-message">' + select_object_msg + '</div><div class="pg-panel-dependents-container d-none"></div></div>',
+        content: '<div class="negative-space p-2"><div role="status" class="alert alert-info pg-panel-message pg-panel-depends-message">' + select_object_msg + '</div><div class="pg-panel-dependents-container d-none"></div></div>',
         events: panelEvents,
       }),
     },
diff --git a/web/pgadmin/browser/static/js/collection.js b/web/pgadmin/browser/static/js/collection.js
index 5b7ab0d..9511068 100644
--- a/web/pgadmin/browser/static/js/collection.js
+++ b/web/pgadmin/browser/static/js/collection.js
@@ -216,7 +216,7 @@ define([
         j.empty();
         j.data('obj-view', gridView);
 
-        $msgContainer = '<div class="alert alert-info pg-panel-message pg-panel-properties-message">' +
+        $msgContainer = '<div role="status" class="alert alert-info pg-panel-message pg-panel-properties-message">' +
          gettext('Retrieving data from the server...') + '</div>';
 
         $msgContainer = $($msgContainer).appendTo(j);
diff --git a/web/pgadmin/browser/static/js/node.js b/web/pgadmin/browser/static/js/node.js
index e3fac91..80014f1 100644
--- a/web/pgadmin/browser/static/js/node.js
+++ b/web/pgadmin/browser/static/js/node.js
@@ -329,7 +329,7 @@ define('pgadmin.browser.node', [
                 <div class="pr-2">
                   <i class="fa fa-exclamation-triangle text-danger" aria-hidden="true" role="img"></i>
                 </div>
-                <div class="alert-text">${msg}</div>
+                <div role="alert" class="alert-text">${msg}</div>
                 <div class="ml-auto close-error-bar">
                   <a class="close-error fa fa-times text-danger"></a>
                 </div>
@@ -396,7 +396,7 @@ define('pgadmin.browser.node', [
 
           if (!newModel.isNew()) {
             // This is definetely not in create mode
-            var msgDiv = '<div class="alert alert-info pg-panel-message pg-panel-properties-message">' +
+            var msgDiv = '<div role="status" class="alert alert-info pg-panel-message pg-panel-properties-message">' +
               gettext('Retrieving data from the server...') + '</div>',
               $msgDiv = $(msgDiv);
             var timer = setTimeout(function(ctx) {
@@ -500,7 +500,7 @@ define('pgadmin.browser.node', [
         isPrivate: true,
         isLayoutMember: false,
         elContainer: true,
-        content: '<div class="obj_properties container-fluid"><div class="alert alert-info pg-panel-message">' + gettext('Please wait while we fetch information about the node from the server...') + '</div></div>',
+        content: '<div class="obj_properties container-fluid"><div role="status" class="alert alert-info pg-panel-message">' + gettext('Please wait while we fetch information about the node from the server...') + '</div></div>',
         onCreate: function(myPanel, $container) {
           $container.addClass('pg-no-overflow');
         },
diff --git a/web/pgadmin/browser/static/js/wizard.js b/web/pgadmin/browser/static/js/wizard.js
index 879f07d..5e2a27d 100644
--- a/web/pgadmin/browser/static/js/wizard.js
+++ b/web/pgadmin/browser/static/js/wizard.js
@@ -106,7 +106,7 @@ define([
       '            </div>' +
       '          <% } %>' +
       '          <div class="wizard-progress-bar"><% if (show_progress_bar) { %>' +
-      '            <p class="alert alert-info col-sm-12"><%= show_progress_bar %></p><% } %>' +
+      '            <p role="status" class="alert alert-info col-sm-12"><%= show_progress_bar %></p><% } %>' +
       '          </div>' +
       '          <div class="wizard-right-panel_content">' +
       '          </div>' +
@@ -119,7 +119,7 @@ define([
       '              <div class="pr-2"> ' +
       '                <i class="fa fa-exclamation-triangle text-danger" aria-hidden="true" role="img"></i> ' +
       '              </div> ' +
-      '              <div class="alert-text"></div> ' +
+      '              <div role="alert" class="alert-text"></div> ' +
       '              <div class="ml-auto close-error-bar"> ' +
       '                <a aria-label="' + gettext('Close error bar') + '" class="close-error fa fa-times text-danger"></a> ' +
       '              </div> ' +
diff --git a/web/pgadmin/dashboard/templates/dashboard/database_dashboard.html b/web/pgadmin/dashboard/templates/dashboard/database_dashboard.html
index a7ae539..5b19a64 100644
--- a/web/pgadmin/dashboard/templates/dashboard/database_dashboard.html
+++ b/web/pgadmin/dashboard/templates/dashboard/database_dashboard.html
@@ -2,8 +2,8 @@
     <div id="dashboard-graphs" class="dashboard-hidden">
         <div class="row dashboard-row">
             <div class="col-md-6 col-12">
-                <div class="card">
-                    <div class="card-header">
+                <div class="card" role="object-document" tabindex="0" aria-labelledby="database-session-graph">
+                    <div class="card-header" id="database-session-graph">
                         {{ _('Database sessions') }}
                     </div>
                     <div class="card-body dashboard-graph-body">
@@ -12,8 +12,8 @@
                 </div>
             </div>
             <div class="col-md-6 col-12">
-                <div class="card">
-                    <div class="card-header">
+                <div class="card" role="object-document" tabindex="0" aria-labelledby="transactions-per-second-graph">
+                    <div class="card-header" id="transactions-per-second-graph">
                         {{ _('Transactions per second') }}
                     </div>
                     <div class="card-body dashboard-graph-body">
@@ -24,8 +24,8 @@
         </div>
         <div class="row dashboard-row">
             <div class="col-md-4 col-12">
-                <div class="card">
-                    <div class="card-header">
+                <div class="card" role="object-document" tabindex="0" aria-labelledby="tuples-in-graph">
+                    <div class="card-header" id="tuples-in-graph">
                         {{ _('Tuples in') }}
                     </div>
                     <div class="card-body dashboard-graph-body">
@@ -34,8 +34,8 @@
                 </div>
             </div>
             <div class="col-md-4 col-12">
-                <div class="card">
-                    <div class="card-header">
+                <div class="card" role="object-document" tabindex="0" aria-labelledby="tuples-out-graph">
+                    <div class="card-header" id="tuples-out-graph">
                         {{ _('Tuples out') }}
                     </div>
                     <div class="card-body dashboard-graph-body">
@@ -44,8 +44,8 @@
                 </div>
             </div>
             <div class="col-md-4 col-12">
-                <div class="card">
-                    <div class="card-header">
+                <div class="card" role="object-document" tabindex="0" aria-labelledby="block-io-graph">
+                    <div class="card-header" id="block-io-graph">
                         {{ _('Block I/O') }}
                     </div>
                     <div class="card-body dashboard-graph-body">
diff --git a/web/pgadmin/dashboard/templates/dashboard/server_dashboard.html b/web/pgadmin/dashboard/templates/dashboard/server_dashboard.html
index 52d3868..437b01e 100644
--- a/web/pgadmin/dashboard/templates/dashboard/server_dashboard.html
+++ b/web/pgadmin/dashboard/templates/dashboard/server_dashboard.html
@@ -2,8 +2,8 @@
     <div id="dashboard-graphs" class="dashboard-hidden">
         <div class="row dashboard-row">
             <div class="col-md-6 col-12">
-                <div class="card">
-                    <div class="card-header">
+                <div class="card" role="object-document" tabindex="0" aria-labelledby="server-sessions-graph">
+                    <div class="card-header" id="server-sessions-graph">
                         {{ _('Server sessions') }}
                     </div>
                     <div class="card-body dashboard-graph-body">
@@ -12,8 +12,8 @@
                 </div>
             </div>
             <div class="col-md-6 col-12">
-                <div class="card">
-                    <div class="card-header">
+                <div class="card" role="object-document" tabindex="0" aria-labelledby="transactions-per-second-graph">
+                    <div class="card-header" id="transactions-per-second-graph">
                         {{ _('Transactions per second') }}
                     </div>
                     <div class="card-body dashboard-graph-body">
@@ -24,8 +24,8 @@
         </div>
         <div class="row dashboard-row">
             <div class="col-md-4 col-12">
-                <div class="card">
-                    <div class="card-header">
+                <div class="card" role="object-document" tabindex="0" aria-labelledby="tuples-in-graph">
+                    <div class="card-header" id="tuples-in-graph">
                         {{ _('Tuples in') }}
                     </div>
                     <div class="card-body dashboard-graph-body">
@@ -34,8 +34,8 @@
                 </div>
             </div>
             <div class="col-md-4 col-12">
-                <div class="card">
-                    <div class="card-header">
+                <div class="card" role="object-document" tabindex="0" aria-labelledby="tuples-out-graph">
+                    <div class="card-header" id="tuples-out-graph">
                         {{ _('Tuples out') }}
                     </div>
                     <div class="card-body dashboard-graph-body">
@@ -44,8 +44,8 @@
                 </div>
             </div>
             <div class="col-md-4 col-12">
-                <div class="card">
-                    <div class="card-header">
+                <div class="card" role="object-document" tabindex="0" aria-labelledby="block-o-graph">
+                    <div class="card-header" id="block-o-graph">
                         {{ _('Block I/O') }}
                     </div>
                     <div class="card-body dashboard-graph-body">
diff --git a/web/pgadmin/static/js/alertify.pgadmin.defaults.js b/web/pgadmin/static/js/alertify.pgadmin.defaults.js
index 79a7632..206a327 100644
--- a/web/pgadmin/static/js/alertify.pgadmin.defaults.js
+++ b/web/pgadmin/static/js/alertify.pgadmin.defaults.js
@@ -127,8 +127,8 @@ define([
               alertMessage = '\
                   <div class="media text-danger text-14">\
                     <div class="media-body media-middle">\
-                      <div class="alert-text" role="status">' + promptmsg + '</div><br/>\
-                      <div class="alert-text">' + gettext('Click for details.') + '</div>\
+                      <div class="alert-text" role="alert">' + promptmsg + '</div><br/>\
+                      <div class="alert-text" role="alert">' + gettext('Click for details.') + '</div>\
                     </div>\
                   </div>';
             }
@@ -172,8 +172,8 @@ define([
           var alertMessage = '\
                 <div class="media text-danger text-14">\
                   <div class="media-body media-middle">\
-                    <div class="alert-text" role="status">' + gettext('INTERNAL SERVER ERROR') + '</div><br/>\
-                    <div class="alert-text">' + gettext('Click for details.') + '</div>\
+                    <div class="alert-text" role="alert">' + gettext('INTERNAL SERVER ERROR') + '</div><br/>\
+                    <div class="alert-text" role="alert">' + gettext('Click for details.') + '</div>\
                   </div>\
                 </div>';
 
@@ -457,6 +457,14 @@ define([
       $(this.elements.commands.close).attr('title', gettext('Close'));
       $(this.elements.commands.maximize).attr('title', gettext('Maximize'));
       $(this.elements.content).addClass('ajs-wrap-text');
+      $(this.elements.header).attr('id', 'confirm-dialog-header');
+      $(this.elements.body).attr('id', 'confirm-dialog-body');
+      $(this.elements.dialog).attr({
+        role: 'alertdialog',
+        'aria-modal': 'true',
+        'aria-labelledby': 'confirm-dialog-header',
+        'aria-describedby': 'confirm-dialog-body',
+      });
     },
     reverseButtons: true,
   });
@@ -465,6 +473,19 @@ define([
     reverseButtons: true,
   });
 
+  alertify.alert().set({
+    onshow:function() {
+      $(this.elements.header).attr('id', 'alert-dialog-header');
+      $(this.elements.body).attr('id', 'alert-dialog-body');
+      $(this.elements.modal).attr({
+        role: 'alertdialog',
+        'aria-modal': 'true',
+        'aria-labelledby': 'alert-dialog-header',
+        'aria-describedby': 'alert-dialog-body',
+      });
+    },
+  });
+
   /* Suppress the enter key events occurring from select2 boxes
    * so that the dialog does not close.
    * Alertify listens to keyup events on the body element unfortunately
diff --git a/web/pgadmin/static/js/sqleditor/filter_dialog.js b/web/pgadmin/static/js/sqleditor/filter_dialog.js
index b920af1..a060ce4 100644
--- a/web/pgadmin/static/js/sqleditor/filter_dialog.js
+++ b/web/pgadmin/static/js/sqleditor/filter_dialog.js
@@ -129,7 +129,7 @@ let FilterDialog = {
               '      <div class="pr-2"> ' +
               '        <i class="fa fa-exclamation-triangle text-danger" aria-hidden="true"></i> ' +
               '      </div> ' +
-              '      <div class="alert-text" role="status"></div> ' +
+              '      <div class="alert-text" role="alert"></div> ' +
               '    </div> ' +
               '  </div> ' +
               '</div>').appendTo($container);
diff --git a/web/pgadmin/static/js/sqleditor/history/query_history.js b/web/pgadmin/static/js/sqleditor/history/query_history.js
index d009159..c1472a9 100644
--- a/web/pgadmin/static/js/sqleditor/history/query_history.js
+++ b/web/pgadmin/static/js/sqleditor/history/query_history.js
@@ -59,7 +59,7 @@ export default class QueryHistory {
       this.parentNode.empty()
         .removeClass('d-flex')
         .append(
-          `<div class='alert alert-info pg-panel-message'>${gettext(
+          `<div role="status" class='alert alert-info pg-panel-message'>${gettext(
             'No history found'
           )}</div>`
         );
diff --git a/web/pgadmin/tools/datagrid/templates/datagrid/index.html b/web/pgadmin/tools/datagrid/templates/datagrid/index.html
index 8c7e628..285d5c1 100644
--- a/web/pgadmin/tools/datagrid/templates/datagrid/index.html
+++ b/web/pgadmin/tools/datagrid/templates/datagrid/index.html
@@ -364,6 +364,7 @@
 
         <div class="connection_status_wrapper d-flex">
             <div id="btn-conn-status"
+                 role="status"
                  class="connection_status d-flex justify-content-center align-items-center" data-container="body"
                  data-toggle="popover" data-placement="bottom"
                  data-content=""
diff --git a/web/pgadmin/tools/debugger/static/js/direct.js b/web/pgadmin/tools/debugger/static/js/direct.js
index 59b596c..6c09e7e 100644
--- a/web/pgadmin/tools/debugger/static/js/direct.js
+++ b/web/pgadmin/tools/debugger/static/js/direct.js
@@ -1726,12 +1726,13 @@ define([
           // Create the messages panel to display the message returned from the database server
           var messages = new pgAdmin.Browser.Panel({
             name: 'messages',
-            title: gettext('Messages'),
+            title:
+            gettext('Messages'),
             width: '100%',
             height: '100%',
             isCloseable: false,
             isPrivate: true,
-            content: '<div id="messages" class="messages" tabindex="0"></div>',
+            content: '<div role="status" id="messages" class="messages" tabindex="0"></div>',
           });
 
           // Create the result panel to display the result after debugging the function
diff --git a/web/pgadmin/tools/sqleditor/static/js/sqleditor.js b/web/pgadmin/tools/sqleditor/static/js/sqleditor.js
index fbc8635..eab7fee 100644
--- a/web/pgadmin/tools/sqleditor/static/js/sqleditor.js
+++ b/web/pgadmin/tools/sqleditor/static/js/sqleditor.js
@@ -262,7 +262,7 @@ define('tools.querytool', [
         height: '100%',
         isCloseable: false,
         isPrivate: true,
-        content: '<div class="sql-editor-message" tabindex="0"></div>',
+        content: '<div role="status" class="sql-editor-message" tabindex="0"></div>',
       });
 
       var history = new pgAdmin.Browser.Panel({
