mirror of https://gitlab.com/bashrc2/epicyon
Accessibility metadata on login screen
parent
ba0ec266d7
commit
5458aca794
11
daemon.py
11
daemon.py
|
@ -10572,7 +10572,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
msg = \
|
msg = \
|
||||||
htmlLogin(self.server.cssCache,
|
htmlLogin(self.server.cssCache,
|
||||||
self.server.translate,
|
self.server.translate,
|
||||||
self.server.baseDir, False).encode('utf-8')
|
self.server.baseDir,
|
||||||
|
self.server.httpPrefix,
|
||||||
|
self.server.domainFull,
|
||||||
|
self.server.systemLanguage,
|
||||||
|
False).encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._logout_headers('text/html', msglen, callingDomain)
|
self._logout_headers('text/html', msglen, callingDomain)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
|
@ -11677,7 +11681,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
# request basic auth
|
# request basic auth
|
||||||
msg = htmlLogin(self.server.cssCache,
|
msg = htmlLogin(self.server.cssCache,
|
||||||
self.server.translate,
|
self.server.translate,
|
||||||
self.server.baseDir).encode('utf-8')
|
self.server.baseDir,
|
||||||
|
self.server.httpPrefix,
|
||||||
|
self.server.domainFull,
|
||||||
|
self.server.systemLanguage).encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._login_headers('text/html', msglen, callingDomain)
|
self._login_headers('text/html', msglen, callingDomain)
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
|
|
|
@ -11,7 +11,7 @@ import time
|
||||||
from shutil import copyfile
|
from shutil import copyfile
|
||||||
from utils import getConfigParam
|
from utils import getConfigParam
|
||||||
from utils import noOfAccounts
|
from utils import noOfAccounts
|
||||||
from webapp_utils import htmlHeaderWithExternalStyle
|
from webapp_utils import htmlHeaderWithWebsiteMarkup
|
||||||
from webapp_utils import htmlFooter
|
from webapp_utils import htmlFooter
|
||||||
from webapp_utils import htmlKeyboardNavigation
|
from webapp_utils import htmlKeyboardNavigation
|
||||||
from theme import getTextModeLogo
|
from theme import getTextModeLogo
|
||||||
|
@ -51,7 +51,10 @@ def htmlGetLoginCredentials(loginParams: str,
|
||||||
|
|
||||||
|
|
||||||
def htmlLogin(cssCache: {}, translate: {},
|
def htmlLogin(cssCache: {}, translate: {},
|
||||||
baseDir: str, autocomplete=True) -> str:
|
baseDir: str,
|
||||||
|
httpPrefix: str, domain: str,
|
||||||
|
systemLanguage: str,
|
||||||
|
autocomplete=True) -> str:
|
||||||
"""Shows the login screen
|
"""Shows the login screen
|
||||||
"""
|
"""
|
||||||
accounts = noOfAccounts(baseDir)
|
accounts = noOfAccounts(baseDir)
|
||||||
|
@ -145,7 +148,10 @@ def htmlLogin(cssCache: {}, translate: {},
|
||||||
|
|
||||||
instanceTitle = \
|
instanceTitle = \
|
||||||
getConfigParam(baseDir, 'instanceTitle')
|
getConfigParam(baseDir, 'instanceTitle')
|
||||||
loginForm = htmlHeaderWithExternalStyle(cssFilename, instanceTitle)
|
loginForm = \
|
||||||
|
htmlHeaderWithWebsiteMarkup(cssFilename, instanceTitle,
|
||||||
|
httpPrefix, domain,
|
||||||
|
systemLanguage)
|
||||||
loginForm += '<br>\n'
|
loginForm += '<br>\n'
|
||||||
loginForm += '<form method="POST" action="/login">\n'
|
loginForm += '<form method="POST" action="/login">\n'
|
||||||
loginForm += ' <div class="imgcontainer">\n'
|
loginForm += ' <div class="imgcontainer">\n'
|
||||||
|
|
|
@ -748,6 +748,44 @@ def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
||||||
return htmlStr
|
return htmlStr
|
||||||
|
|
||||||
|
|
||||||
|
def htmlHeaderWithWebsiteMarkup(cssFilename: str, instanceTitle: str,
|
||||||
|
httpPrefix: str, domain: str,
|
||||||
|
systemLanguage: str) -> str:
|
||||||
|
"""html header which includes website markup
|
||||||
|
https://schema.org/WebSite
|
||||||
|
"""
|
||||||
|
htmlStr = htmlHeaderWithExternalStyle(cssFilename, instanceTitle,
|
||||||
|
systemLanguage)
|
||||||
|
|
||||||
|
licenseUrl = 'https://www.gnu.org/licenses/agpl-3.0.en.html'
|
||||||
|
websiteMarkup = \
|
||||||
|
' <script type="application/ld+json">\n' + \
|
||||||
|
' {\n' + \
|
||||||
|
' "@context" : "http://schema.org",\n' + \
|
||||||
|
' "@type" : "WebSite",\n' + \
|
||||||
|
' "name": "' + instanceTitle + '",\n' + \
|
||||||
|
' "license": "' + licenseUrl + '",\n' + \
|
||||||
|
' "inLanguage": "' + systemLanguage + '",\n' + \
|
||||||
|
' "isAccessibleForFree": true,\n' + \
|
||||||
|
' "genre": "https://en.wikipedia.org/wiki/Fediverse",\n' + \
|
||||||
|
' "accessMode": ["textual", "visual"],\n' + \
|
||||||
|
' "accessModeSufficient": ["textual"],\n' + \
|
||||||
|
' "accessibilityAPI" : [ "ARIA" ],\n' + \
|
||||||
|
' "accessibilityControl" : [\n' + \
|
||||||
|
' "fullKeyboardControl",\n' + \
|
||||||
|
' "fullTouchControl",\n' + \
|
||||||
|
' "fullMouseControl"\n' + \
|
||||||
|
' ],\n' + \
|
||||||
|
' "encodingFormat" : [\n' + \
|
||||||
|
' "text/html", "image/png", "image/webp",\n' + \
|
||||||
|
' "image/jpeg", "image/gif", "text/css"\n' + \
|
||||||
|
' ],\n' + \
|
||||||
|
' }\n' + \
|
||||||
|
' </script>\n'
|
||||||
|
htmlStr = htmlStr.replace('<head>\n', '<head>\n' + websiteMarkup)
|
||||||
|
return htmlStr
|
||||||
|
|
||||||
|
|
||||||
def htmlFooter() -> str:
|
def htmlFooter() -> str:
|
||||||
htmlStr = ' </body>\n'
|
htmlStr = ' </body>\n'
|
||||||
htmlStr += '</html>\n'
|
htmlStr += '</html>\n'
|
||||||
|
|
Loading…
Reference in New Issue