Del via


Understøttelse af tilstand med stor kontrast i Power BI-visualiseringer

Indstillingen med stor kontrast i Windows gør det nemmere at se tekst og grafik ved at vise mere forskellige farver. I denne artikel beskrives det, hvordan du føjer understøttelse af tilstanden med stor kontrast til Power BI-visualiseringer. Du kan få flere oplysninger under Understøttelse af stor kontrast i Power BI.

Hvis du vil have vist en implementering af understøttelse af stor kontrast, skal du gå til lageret powerBI-visuals-sampleBarChart.

Hvis du vil have vist en visualisering i tilstanden med stor kontrast, skal du:

Initialisering

ColorPalette-medlemmet af options.host har flere egenskaber for tilstanden med stor kontrast. Brug disse egenskaber til at bestemme, om tilstanden med stor kontrast er aktiv, og hvilke farver der skal bruges, hvis det er.

  • Registrer, at Power BI er i tilstanden med stor kontrast

    Hvis host.colorPalette.isHighContrast er true, er tilstanden med stor kontrast aktiv, og visualiseringen skal tegne sig i overensstemmelse hermed.

  • Få farver med høj kontrast

    Når visualiseringen vises i tilstanden med stor kontrast, skal den begrænse sig til følgende indstillinger:

    • Forgrundsfarven bruges til at tegne streger, ikoner, tekst og konturer eller fyld af figurer.

    • Baggrundsfarven bruges til baggrund og som fyldfarven for de figurer, der er skitseret.

    • Forgrundsmarkerede farver bruges til at angive et markeret eller aktivt element.

    • Linkfarven bruges kun til linktekst.

      Bemærk

      Hvis der er behov for en sekundær farve, kan forgrundsfarven bruges med en vis uigennemsigtighed (oprindelige Power BI-visualiseringer bruger 40 % uigennemsigtighed). Brug dette sparsomt til at gøre det nemt at se de visuelle detaljer.

Under initialisering kan du gemme følgende værdier i din constructor metode:

private isHighContrast: boolean;

private foregroundColor: string;
private backgroundColor: string;
private foregroundSelectedColor: string;
private hyperlinkColor: string;
//...

constructor(options: VisualConstructorOptions) {
    this.host = options.host;
    let colorPalette: ISandboxExtendedColorPalette = host.colorPalette;
    //...
    this.isHighContrast = colorPalette.isHighContrast;
    if (this.isHighContrast) {
        this.foregroundColor = colorPalette.foreground.value;
        this.backgroundColor = colorPalette.background.value;
        this.foregroundSelectedColor = colorPalette.foregroundSelected.value;
        this.hyperlinkColor = colorPalette.hyperlink.value;
    }

Du kan også gemme objektet host under initialisering og få adgang til de relevante colorPalette egenskaber under en opdatering.

Implementering

De specifikke implementeringer af understøttelse af stor kontrast varierer fra visualisering til visualisering og afhænger af detaljerne i det grafiske design. Hvis du vil holde vigtige detaljer nemme at skelne mellem med begrænsede farver, kræver tilstanden med stor kontrast normalt et design, der er lidt anderledes end standardtilstanden.

Oprindelige Power BI-visualiseringer følger disse retningslinjer:

  • Alle datapunkter bruger den samme farve (forgrund).
  • Al tekst, akser, pile og linjer bruger forgrundsfarven.
  • Tykke figurer tegnes som konturer med tykke strøg (mindst to pixel) og baggrundsfarvefyld.
  • Når datapunkter er relevante, skelnes de mellem forskellige mærkeformer, og datalinjer skelnes af forskellige stiplede datalinjer.
  • Når et dataelement fremhæves, ændrer alle andre elementer deres uigennemsigtighed til 40 %.
  • I forbindelse med udsnitsværktøjer og aktive filterelementer skal du bruge den farve, der er valgt for forgrunden.

Følgende eksempel på et liggende søjlediagram tegnes med to pixel tyk forgrundskontur og baggrundsfyld. Sammenlign den måde, det ser ud på, med standardfarver og med følgende temaer med stor kontrast:

Eksempel

Følgende kode viser ét sted i den visualTransform funktion, der blev ændret for at understøtte stor kontrast. Det kaldes som en del af gengivelsen under opdateringen. Du kan finde barChart.ts den fulde implementering af denne kode i filen i lageret powerBI-visuals-sampleBarChart.

for (let i = 0, len = Math.max(category.values.length, dataValue.values.length); i < len; i++) {
    let defaultColor: Fill = {
        solid: {
            color: colorPalette.getColor(category.values[i] + '').value
        }
    };

    barChartDataPoints.push({
        category: category.values[i] + '',
        value: dataValue.values[i],
        color: getCategoricalObjectValue<Fill>(category, i, 'colorSelector', 'fill', defaultColor).solid.color,
        selectionId: host.createSelectionIdBuilder()
            .withCategory(category, i)
            .createSelectionId()
    });
}

Design Power BI-rapporter til hjælp til handicappede