diff --git a/src/assets/css/style.css b/src/assets/css/style.css index 1290fd3..94e74f4 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -886,6 +886,25 @@ p.badge { } .faq-question { + display: flex; + padding: 1rem 0; + cursor: pointer; + align-items: center; + width: fit-content; + text-decoration: none; + background: none; + text-align: left; + color: var(--color-text); + margin: 0; + font-size: var(--font-size-3); + border-radius: 0px; +} + +.faq-question:focus { + outline: none; + border: none; + box-shadow: none; + color: var(--color-brand); display: flex; padding: 1rem 0; cursor: pointer; diff --git a/src/assets/js/faq.js b/src/assets/js/faq.js index 38824a4..d3e014b 100644 --- a/src/assets/js/faq.js +++ b/src/assets/js/faq.js @@ -14,10 +14,12 @@ document.addEventListener('DOMContentLoaded', function() { if (currentlyOpen && currentlyOpen !== answer) { currentlyOpen.style.display = 'none'; currentlyOpen.classList.remove('active'); + currentlyOpen.hidden = true; // Reset the arrow of the previously active question var activeQuestion = document.querySelector('.faq-question.active'); if (activeQuestion) { activeQuestion.classList.remove('active'); + activeQuestion.setAttribute('aria-expanded', 'false'); var activeArrow = activeQuestion.querySelector('.arrow'); activeArrow.style.transform = ''; // Reset rotation } @@ -29,11 +31,14 @@ document.addEventListener('DOMContentLoaded', function() { answer.classList.remove('active'); this.classList.remove('active'); // Update question active state arrow.style.transform = ''; // Reset rotation + answer.hidden = true; } else { answer.style.display = 'block'; answer.classList.add('active'); this.classList.add('active'); // Update question active state + this.setAttribute('aria-expanded', 'true'); arrow.style.transform = 'rotate(-180deg)'; // Rotate arrow + answer.hidden = false; } }); }); diff --git a/src/index.html b/src/index.html index 239cc3c..b80bdfb 100644 --- a/src/index.html +++ b/src/index.html @@ -194,10 +194,11 @@
Hush Line requires no personally identifying information (PII) for tip line owners to use the service, including an email address.
We offer an Onion service for users with advanced privacy needs, which can be accessed @@ -215,10 +216,10 @@
Hush Line uses OpenPGP.js for client-side encryption, giving users who add their public PGP key end-to-end encryption for their messages. Users who disable @@ -235,10 +236,10 @@
If the individual submitting a message feels comfortable enough to include a contact method, they may choose to.
For anonymous, indirect two-way communication through Hush Line, someone submitting a @@ -254,10 +255,10 @@
Neither us scrubbing IPs nor you using Tor and Signal are silver bullets, and there are many ways to deanonymize yourself. -
Signal is great, but it's not anonymous. For someone to send you a message, they must first:
SecureDrop is a robust whistleblowing platform whose architecture is necessitated by very specific use cases: A.) To safely manage files sent by anonymous people so that a device or network isn't accidentally compromised, and B.) To provide a censorship-resistant and @@ -391,19 +392,19 @@
While open-source, forking SecureDrop would require significant rework. Building a new solution allows us to optimize Hush Line as an easy-to-use hosted service.
We use Python and the Flask framework because they're well-documented and supported. The developer ecosystem is rich with extensions for everything from user authentication to message encryption. Python is also one of the most used languages, making the project @@ -411,10 +412,10 @@
Receiving files comes with significant risk, and the functionality is only sometimes necessary. It can lead to compromising your device, network, and any other device connected to it.
@@ -438,10 +439,10 @@Hush Line offers human-verified accounts for journalists, organizations, and public figures so you can ensure you're communicating with the right recipient. Do you need to -
Yes! In 2024, Hush Line's managed service, Personal Server, and self-hosted version received a security audit from Subgraph, sponsored by -