Thanks for the thoughtful article and feedback Yoav - we'll chat about it internally.

On 8/20/24 11:24 PM, Yoav Weiss (@Shopify) wrote:
<api owner hat off>

I wrote a few words about this proposal and how I think we can avoid some of the tradeoffs it is making and end up with better user experience *and* more privacy: https://blog.yoav.ws/posts/improving_language_negotiation/

On Wed, Aug 7, 2024, 17:41 Victor Tan <victor...@chromium.org> wrote:

    Email Body


            Contact emails

    victor...@chromium.org <mailto:victor...@chromium.org>,
    miketa...@chromium.org <mailto:miketa...@chromium.org>


            Explainer

    https://github.com/explainers-by-googlers/reduce-accept-language
    <https://github.com/explainers-by-googlers/reduce-accept-language>


            TAG review


            To be filed.


            Summary

    In order to reduce the amount of passively available entropy in
    HTTP requests, we want to reduce the amount of information the
    Accept-Language header exposes in HTTP requests and JS interface
    navigator.languages. Instead of sending every user's language
    preferences via Accept-Language, we only send the user’s most
    preferred language after language negotiation in the
    Accept-Language header. For the HTTP Accept-Language header, we
    will potentially expand a base language based on the
    language-region pair (e.g., if the preferred language is “en-US”
    we will expand to “en-US, en;q=0.9”). The JS getter
    navigator.languages returns the same value as navigator.language.


    We would like to run a Finch 1% experiment from M128 to M131
    inclusive.


            Blink component

    Privacy>Fingerprinting
    
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Privacy%3EFingerprinting>

    Risks


            Interoperability and Compatibility

    The compatibility risk is relatively low for most users since
    we're planning to reduce the amount of information in the
    Accept-Language header and navigator.languages, rather than remove
    the header or change value format in the header. Most existing
    Accept-Language detection code should continue to work. This
    experiment should help us validate this assumption and identify
    corner cases.


    As for interoperability, for multilingual sites to rely on the
    Accept-Language, developers would need to depend on a user's full
    Accept-Language list for some browsers and a primary user's
    Accept-Language for others. Another signal is that the Chrome
    incognito model already reduced the Accept-Language header and JS
    interface navigator.languages to one language, and Safari ships
    this behavior for many users today.


    Gecko: Pending
    (https://github.com/mozilla/standards-positions/issues/1014
    <https://github.com/mozilla/standards-positions/issues/1014>)


    WebKit: Shipped
    (https://github.com/WebKit/standards-positions/issues/338
    <https://github.com/WebKit/standards-positions/issues/338>) Safari
    already reduced the Accept-Language to a single language in most
    cases.


    Web developers: Some web developers are concerned about the
    client-side language negotiation implications
    (https://github.com/Tanych/accept-language/issues/10
    <https://github.com/Tanych/accept-language/issues/10>).


    Experiment Goals

    The goal of this experiment is to ensure web compatibility with
    our proposed changes. Developers can also test how reducing the
    Accept-Language request header and the JS getter
    navigator.languages will affect their systems via the
    chrome://flags/#reduce-accept-language flag, especially to
    understand the impact on client side language negotiation via
    navigator.languages. We will be relying heavily on user and
    developer feedback to identify where breakage occurs,  or where
    use cases are not accounted for, especially for multilingual sites
    depending on the Accept-Language header, and navigator.languages.


    Experiment Risks

    There are some risks, as many multilingual sites have come to rely
    on the value in Accept-Language header and JS interfaces
    navigator.languages to send the right representation pages to the
    user.  Site breakage can take many forms, both obvious and
    non-obvious - which is the point of running this experiment. If we
    are confident the design is largely web-compatible, we will
    request a Deprecation Trial for sites to be able to have time to
    migrate or modify how their sites work.


            Debuggability

    Both of these settings and the resulting network requests are
    visible in DevTools.


            Will this feature be supported on all six Blink platforms
            (Windows, Mac, Linux, Chrome OS, Android, and Android
            WebView)?

    No (All but WebView)


            Is this feature fully tested byweb-platform-tests
            
<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>?

    No (We fully test in browser_tests, WPT has limits to cover all
    the test cases in the Accept-Language header).


            Flag name on chrome://flags

    #reduce-accept-language


            Finch Flag name

    kReduceAcceptLanguage


            Tracking bug

    https://issues.chromium.org/issues/40218547
    <https://issues.chromium.org/issues/40218547>


            Launch bug

    https://launch.corp.google.com/launch/4317282
    <https://launch.corp.google.com/launch/4317282>


            Link to entry on the Chrome Platform Status

    https://chromestatus.com/feature/5188040623390720
    <https://chromestatus.com/feature/5188040623390720#details>


-- You received this message because you are subscribed to the Google
    Groups "blink-dev" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to blink-dev+unsubscr...@chromium.org.
    To view this discussion on the web visit
    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh4P7HuVnM9iE1%2BMF2pY%3DP%3DVNHmtP%2B1oZdUQ2Hm2bMjrW04Dw%40mail.gmail.com
    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh4P7HuVnM9iE1%2BMF2pY%3DP%3DVNHmtP%2B1oZdUQ2Hm2bMjrW04Dw%40mail.gmail.com?utm_medium=email&utm_source=footer>.


--
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/bede91a2-281d-4499-b84a-5d6ae24e86b9%40chromium.org.

Reply via email to