diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py
index e75b9a1c34ef55e162bde29befaf6496d02b24c0..f050eb577f3b4f89c2f95c74c813c670077c9705 100644
--- a/inventory_provider/routes/poller.py
+++ b/inventory_provider/routes/poller.py
@@ -1341,19 +1341,6 @@ def gws_direct_config():
                             'info': ifc.get('info', '')
                         }
 
-    def _to_row(counter, header=False):
-        _columns = (
-            'nren', 'isp', 'hostname',
-            'snmp', 'interface', 'field', 'oid', 'info')
-        elems = ['<tr>']
-        for name in _columns:
-            if header:
-                elems.append(f'<th>{name}</th>')
-            else:
-                elems.append(f'<td>{counter[name]}</td>')
-        elems.append('</tr>')
-        return ''.join(elems)
-
     if format == 'json':
         if not request.accept_mimetypes.accept_json:
             return Response(
@@ -1369,12 +1356,51 @@ def gws_direct_config():
             status=406,
             mimetype="text/html")
 
-    elems = ['<html>', '<body>', '<table>']
-    elems.append(_to_row(None, header=True))
-    elems += map(_to_row, _counters())
-    elems += ['</table>', '</body>', '</html>']
+    page = '''<!doctype html>
+<html lang="en">
+  <head>
+    <!-- Required meta tags -->
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+
+    <!-- Bootstrap CSS -->
+    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+
+    <title>Hello, world!</title>
+  </head>
+  <body>
+  <table class="table table-striped">
+      <thead>
+{header_row}
+      </thead>
+      <tbody>
+{data_rows}
+      </tbody>
+  </table>
+  </body>
+</html>
+'''
+
+    def _to_row(counter, header=False):
+        _columns = (
+            'nren', 'isp', 'hostname',
+            'snmp', 'interface', 'field', 'oid', 'info')
+        elems = ['<tr>']
+        for name in _columns:
+            if header:
+                elems.append(f'<th scope="col">{name}</th>')
+            else:
+                elems.append(f'<td scope="row">{counter[name]}</td>')
+        elems.append('</tr>')
+        return ''.join(elems)
+
+    header_row = _to_row(None, header=True)
+    data_rows = map(_to_row, _counters())
+    page = page.format(
+        header_row=header_row,
+        data_rows='\n'.join(data_rows))
 
     return Response(
-        response=''.join(elems),
+        response=page,
         status=200,
         mimetype="text/html")