php-src/ext/standard/css.c
Ayesh Karunaratne 5c2c688c17
phpinfo HTML Output: Make module title names clickable and link to the URL fragment
Each section of `phpinfo` is titled with an `<h2><a name="module_NAME">NAME</a></h2>` tag. While the `name=module_NAME` attribute allows linking to that section using a URL fragment (e.g `info.php#module_NAME`), it lacks discoverability because the `<a>` tag does not contain an `href` attribute. This is also highlighted in accessibility scans (in Firefox for instance).

This adds a link to the `<a>` tag that links to the URL fragment, fixing the accessibility remark and improving the discoverability of the clickable section titles. Also contains minor CSS changes to account for the dark theme CSS.

Closes GH-9054.
2022-07-20 17:18:34 +02:00

56 lines
2.9 KiB
C

/*
+----------------------------------------------------------------------+
| Copyright (c) The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| https://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Colin Viebrock <colin@viebrock.ca> |
+----------------------------------------------------------------------+
*/
#include "php.h"
#include "info.h"
PHPAPI ZEND_COLD void php_info_print_css(void) /* {{{ */
{
PUTS("body {background-color: #fff; color: #222; font-family: sans-serif;}\n");
PUTS("pre {margin: 0; font-family: monospace;}\n");
PUTS("a:link {color: #009; text-decoration: none; background-color: #fff;}\n");
PUTS("a:hover {text-decoration: underline;}\n");
PUTS("table {border-collapse: collapse; border: 0; width: 934px; box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.2);}\n");
PUTS(".center {text-align: center;}\n");
PUTS(".center table {margin: 1em auto; text-align: left;}\n");
PUTS(".center th {text-align: center !important;}\n");
PUTS("td, th {border: 1px solid #666; font-size: 75%; vertical-align: baseline; padding: 4px 5px;}\n");
PUTS("th {position: sticky; top: 0; background: inherit;}\n");
PUTS("h1 {font-size: 150%;}\n");
PUTS("h2 {font-size: 125%;}\n");
PUTS("h2 a:link, h2 a:visited{color: inherit; background: inherit;}\n");
PUTS(".p {text-align: left;}\n");
PUTS(".e {background-color: #ccf; width: 300px; font-weight: bold;}\n");
PUTS(".h {background-color: #99c; font-weight: bold;}\n");
PUTS(".v {background-color: #ddd; max-width: 300px; overflow-x: auto; word-wrap: break-word;}\n");
PUTS(".v i {color: #999;}\n");
PUTS("img {float: right; border: 0;}\n");
PUTS("hr {width: 934px; background-color: #ccc; border: 0; height: 1px;}\n");
PUTS(":root {--php-dark-grey: #333; --php-dark-blue: #4F5B93; --php-medium-blue: #8892BF; --php-light-blue: #E2E4EF; --php-accent-purple: #793862}");
PUTS(
"@media (prefers-color-scheme: dark) {\n"
" body {background: var(--php-dark-grey); color: var(--php-light-blue)}\n"
" .h td, td.e, th {border-color: #606A90}\n"
" td {border-color: #505153}\n"
" .e {background-color: #404A77}\n"
" .h {background-color: var(--php-dark-blue)}\n"
" .v {background-color: var(--php-dark-grey)}\n"
" hr {background-color: #505153}\n"
"}\n"
);
}
/* }}} */