Critical Issues (7 items)
rgba() Semi-transparent Backgrounds
rgba() appears in
the header, banner, sidebar-left, 404 page, and the generated styles
of three CGI scripts: editor.py, search.py, and stats.py. All dark
semi-transparent backgrounds across the entire site rely on
rgba(0, 0, 0, 0.45).
When IE5.5 encounters an unrecognized color value, it simply skips it
and the background becomes transparent, making the site's dark theme
a complete mess. Fix: use the IE-proprietary
filter:progid:DXImageTransform.Microsoft.gradient
— this filter was designed for gradients, but using the same
start and end color can achieve an opacity effect. In ARGB format,
73 in
#73000000 represents 45% opacity.
However, I don't plan to fix this. A transparent background on old
devices is not necessarily a bad thing, even though incompatibility
with rgba() counts as a critical
error.
Flex Layout
The emoji panel uses a
<div style="display: flex; flex-wrap: wrap; gap: 1px">
to wrap 20 emoji images. IE5.5 cannot properly load flex, so all emoji
images stack into a single column as default block-level elements.
The stats page (stats.py) uses
display: flex, gap: 18px, flex: 1,
min-width, and max-width, which are all CSS3. However, when opening the stats page in IE5.5,
aside from some sizing errors on the IP map, everything else looks
fine.
Fix: convert the emoji panel back to
<table>
layout. The stats page is not a priority for changes; simply reducing
the IP map size should resolve the issue.
box-sizing: border-box
The guestbook form in the sidebar heavily relies on
box-sizing: border-box
to control input field widths. IE5.5 does not recognize this property,
so inputs with width: 100%
will overflow their container due to border and padding. The
border/padding values need to be manually subtracted from the width.
overflow-x / overflow-y
The scrollable containers for the guestbook and changelog use
overflow-y: auto; overflow-x: hidden;. IE5.5 only recognizes the
overflow shorthand. Although it
doesn't support overflow-x/y, it doesn't appear to cause visible
errors.
3 JS Issues in toolbox.py
The toolbox's "Copy Password" feature uses three APIs unsupported by IE5.5:
document.querySelector('.result-box span')
— the Selectors API is a DOM Level 2+ feature, but IE5.5 only
has DOM Level 1. Must be changed to
document.getElementsByTagName('span')
with iteration, or simply add an ID to the target element.
box.textContent — textContent
is DOM Level 3. IE5.5 uses innerText.
document.execCommand('copy') —
although execCommand has existed since IE4, the 'copy' command wasn't
supported until IE10. IE5.5's clipboard API is
window.clipboardData.setData('Text', ...).
|