slogan3

Creëer een OpenAPI Specificatie voor API Toegankelijkheid en Inclusiviteit

description

Met deze prompt kun je een OpenAPI specificatie creëren die expliciet rekening houdt met toegankelijkheid en inclusiviteit, waardoor je API breder inzetbaar en gebruiksvriendelijker wordt. Dit lost het probleem op van ontoegankelijke API's en vergroot de doelgroep. Het is beter dan standaard specificaties omdat het inclusieve ontwerpprincipes integreert, wat tegenwoordig essentieel is voor moderne API's.

prompt

Help me een OpenAPI specificatie te ontwerpen die expliciet toegankelijkheid en inclusiviteitsrichtlijnen integreert om mijn API bruikbaar te maken voor een breed scala aan gebruikers. API Naam: <voer de naam van mijn API in> Toegankelijkheidsrichtlijnen (bijv. WCAG, ARIA): <beschrijf de richtlijnen die gevolgd moeten worden> Inclusiviteitsvereisten (bijv. meertali ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
openapi: 3.1.0 info: title: Weer API versie: 1.0.0 beschrijving: > Een Weer API met expliciete toegankelijkheids- en inclusiviteitsrichtlijnen geïntegreerd. Deze specificatie documenteert het gebruik van WCAG 2.1 richtlijnen en meertalige ondersteuning. contact: naam: Support Team email: support@weerapi.nl servers: - url: https://api.weerapi.nl/v1 beschrijving: Productie server components: securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT schemas: Gebruiker: type: object properties: id: type: string description: Unieke identificatie van de gebruiker naam: type: string description: Naam van de gebruiker taal: type: string description: Taalcode van de gebruiker, bijvoorbeeld 'nl', 'en', 'de' Bericht: type: object properties: id: type: string description: Unieke bericht ID inhoud: type: string description: Inhoud van het bericht taal: type: string description: Taalcode van het bericht, bijvoorbeeld 'nl', 'en', 'de' timestamp: type: string format: date-time description: Datum en tijd van het bericht security: - BearerAuth: [] tags: - name: Toegankelijkheid description: > Richtlijnen voor toegankelijkheid volgens WCAG 2.1, inclusief ondersteuning voor schermlezers, toetsenbordgebruik en duidelijke visuele elementen. - name: Inclusiviteit description: > Ondersteuning voor meertaligheid en diverse gegevensformaten om inclusiviteit te waarborgen. paths: /gebruikers: get: tags: - Toegankelijkheid - Inclusiviteit summary: Haal de lijst van gebruikers op description: > Retourneert een lijst met gebruikers. De API ondersteunt meertalige antwoorden afhankelijk van de 'Accept-Language' header. security: - BearerAuth: [] parameters: - in: header name: Authorization schema: type: string description: Bearer token voor authenticatie required: true - in: header name: Accept-Language schema: type: string description: > Voorkeurstaal voor de respons, bijvoorbeeld 'nl', 'en', 'de'. Dit bevordert meertalige ondersteuning. required: false example: 'nl' responses: '200': description: Lijst van gebruikers in de gevraagde taal content: application/json: schema: type: array items: $ref: '#/components/schemas/Gebruiker' examples: nl: summary: Nederlandse lijst value: [ { "id": "1", "naam": "Jan Jansen", "taal": "nl" }, { "id": "2", "naam": "Anna de Boer", "taal": "nl" } ] en: summary: Engelse lijst value: [ { "id": "1", "naam": "John Johnson", "taal": "en" }, { "id": "2", "naam": "Anna the Farmer", "taal": "en" } ] '401': description: Niet geautoriseerd '403': description: Toegang geweigerd /berichten: post: tags: - Toegankelijkheid - Inclusiviteit summary: Plaats een nieuw bericht description: > Plaatst een nieuw bericht. De inhoud en taal kunnen variëren om inclusiviteit te ondersteunen. security: - BearerAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/bericht' examples: nl: summary: Nieuw bericht in het Nederlands value: inhoud: "Hallo, hoe gaat het?" taal: "nl" en: summary: New message in English value: inhoud: "Hello, how are you?" taal: "en" responses: '201': description: Bericht succesvol geplaatst content: application/json: schema: $ref: '#/components/schemas/bericht' '400': description: Ongeldige invoer '401': description: Niet geautoriseerd '403': description: Toegang geweigerd # Toelichting toegankelijkheid en inclusiviteit x-kenmerken: toegankelijkheid: richtlijnen: WCAG 2.1 toelichting: > De API ondersteunt toegankelijkheid door duidelijke documentatie, meertalige communicatie en het gebruik van toegankelijke dataformaten. inclusiviteit: richtlijnen: > Ondersteuning voor meerdere talen via 'Accept-Language' headers en diverse gegevensformaten, waardoor gebruikers uit verschillende regio's en met verschillende voorkeuren worden bediend. ```
provider: deepseek
model: deepseek-chat
```yaml openapi: 3.0.3 info: title: Weer API description: | # Toegankelijkheid en Inclusiviteit Deze API is ontworpen volgens WCAG 2.1 richtlijnen om toegankelijkheid te garanderen voor alle gebruikers, inclusief mensen met beperkingen. ## Toegankelijkheidsfuncties: - Semantische en gestructureerde responsformaten - Duidelijke foutmeldingen met suggesties - Ondersteuning voor screen readers - Tastbaar contrast in documentatie - Toetsenbordnavigatie ondersteuning ## Inclusiviteitsfuncties: - Meertalige ondersteuning (Nederlands, Engels, Frans, Duits) - Cultureel neutrale datums en tijdzones - Diverse gegevensrepresentatie - Flexibele authenticatiemethoden version: 1.0.0 contact: name: Toegankelijkheidsteam email: toegankelijkheid@weer-api.nl x-inclusivity-statement: | Onze API streeft naar volledige toegankelijkheid en inclusiviteit voor alle gebruikers, ongezien hun vaardigheden, taal of culturele achtergrond. servers: - url: https://api.weer.nl/v1 description: Productie server - url: https://dev.api.weer.nl/v1 description: Ontwikkelings server paths: /gebruikers: get: summary: Haal gebruikersgegevens op description: | Retourneert gebruikersinformatie met toegankelijke formattering. **Toegankelijkheidsfuncties:** - Gestructureerde JSON respons - Alt-teksten voor afbeeldingen - Duidelijke veldbeschrijvingen operationId: getGebruikers tags: - Gebruikers security: - bearerAuth: [] parameters: - name: Accept-Language in: header required: false description: | Taal voorkeur voor respons (nl, en, fr, de). Standaard: nl schema: type: string enum: [nl, en, fr, de] default: nl - name: formaat in: query required: false description: | Gewenst responsformaat voor toegankelijkheid. json - Standaard JSON formaat xml - XML formaat voor bepaalde screen readers schema: type: string enum: [json, xml] default: json responses: '200': description: Succesvolle operatie content: application/json: schema: $ref: '#/components/schemas/GebruikersResponse' application/xml: schema: $ref: '#/components/schemas/GebruikersResponse' headers: Content-Language: description: Taal van de respons schema: type: string '400': description: Ongeldig verzoek content: application/json: schema: $ref: '#/components/schemas/Foutmelding' '401': description: Niet geautoriseerd content: application/json: schema: $ref: '#/components/schemas/Foutmelding' '500': description: Interne serverfout content: application/json: schema: $ref: '#/components/schemas/Foutmelding' x-wcag-compliance: - "1.3.1: Info en relaties" - "3.1.2: Taal van onderdelen" - "4.1.2: Naam, rol, waarde" /berichten: post: summary: Verstuur een nieuw bericht description: | Maakt een nieuw bericht aan met ondersteuning voor meertalige content. **Inclusiviteitsfuncties:** - Meertalige content ondersteuning - UTF-8 karakter encoding - Cultureel sensitieve datum/tijd verwerking operationId: postBericht tags: - Berichten security: - bearerAuth: [] parameters: - name: Accept-Language in: header required: false schema: type: string enum: [nl, en, fr, de] default: nl requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BerichtAanmaak' examples: nederlands: summary: Nederlands bericht value: titel: "Weersvoorspelling Amsterdam" inhoud: "Zonnig met 20°C" taal: "nl" english: summary: English message value: titel: "Weather forecast Amsterdam" inhoud: "Sunny with 20°C" taal: "en" responses: '201': description: Bericht succesvol aangemaakt content: application/json: schema: $ref: '#/components/schemas/BerichtResponse' headers: Content-Language: description: Taal van de respons schema: type: string '400': description: Ongeldig verzoek content: application/json: schema: $ref: '#/components/schemas/Foutmelding' '401': description: Niet geautoriseerd content: application/json: schema: $ref: '#/components/schemas/Foutmelding' components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: | Bearer token authenticatie met ondersteuning voor toegankelijke tokens. Tokens zijn compatibel met screen readers en andere hulptechnologieën. schemas: GebruikersResponse: type: object description: Toegankelijke gebruikersrespons met gestructureerde gegevens properties: gebruikers: type: array description: Lijst van gebruikers met toegankelijke metadata items: $ref: '#/components/schemas/Gebruiker' paginering: $ref: '#/components/schemas/Paginering' toegankelijkheid: $ref: '#/components/schemas/ToegankelijkheidMetadata' Gebruiker: type: object description: Gebruikersobject met inclusieve velden properties: id: type: string description: Unieke identifier voor screen readers naam: type: string description: Weergavenaam met ondersteuning voor internationale karakters email: type: string format: email description: Toegankelijk e-mailadres voorkeurstaal: type: string enum: [nl, en, fr, de] description: Gebruikerstaalvoorkeur voor inclusiviteit toegankelijkheidsvoorkeuren: $ref: '#/components/schemas/ToegankelijkheidsVoorkeuren' BerichtAanmaak: type: object required: - titel - inhoud - taal properties: titel: type: string maxLength: 255 description: Berichttitel in geselecteerde taal inhoud: type: string description: Berichtinhoud met UTF-8 ondersteuning taal: type: string enum: [nl, en, fr, de] description: Taal van het bericht voor meertalige ondersteuning toegankelijkheidsopties: $ref: '#/components/schemas/ToegankelijkheidsOpties' BerichtResponse: type: object properties: id: type: string description: Uniek bericht ID titel: type: string description: Originele titel inhoud: type: string description: Originele inhoud taal: type: string description: Berichttaal aangemaaktOp: type: string format: date-time description: ISO 8601 datum/tijd voor universele toegankelijkheid Foutmelding: type: object description: Toegankelijke foutmelding met duidelijke instructies required: - code - bericht - suggestie properties: code: type: string description: Foutcode voor programmeurs en screen readers bericht: type: string description: Duidelijke foutbeschrijving in geselecteerde taal suggestie: type: string description: Suggestie voor oplossing van het probleem details: type: string description: Technische details voor ontwikkelaars Paginering: type: object description: Toegankelijke pagineringsinformatie properties: pagina: type: integer description: Huidige paginanummer perPagina: type: integer description: Items per pagina totaal: type: integer description: Totaal aantal items ToegankelijkheidMetadata: type: object description: Metadata voor toegankelijkheid en inclusiviteit properties: wcagVersie: type: string description: WCAG compliance versie ondersteundeTalen: type: array items: type: string description: Beschikbare talen voor inclusiviteit toegankelijkheidsniveau: type: string enum: [A, AA, AAA] description: WCAG conformiteitsniveau ToegankelijkheidsVoorkeuren: type: object description: Gebruikersvoorkeuren voor toegankelijkheid properties: contrast: type: string enum: [standaard, hoog] description: Contrastvoorkeur voor visuele toegankelijkheid tekstgrootte: type: string enum: [klein, medium, groot] description: Tekstgrootte voorkeur screenReader: type: boolean description: Screen reader optimalisatie ToegankelijkheidsOpties: type: object description: Opties voor berichttoegankelijkheid properties: altTekst: type: string description: Alternatieve tekst voor afbeeldingen langAttribuut: type: string description: HTML lang attribuut voor meertalige content ariaLabels: type: array items: type: string description: ARIA labels voor verbeterde toegankelijkheid tags: - name: Gebruikers description: Gebruikersgerelateerde endpoints met toegankelijke functionaliteit - name: Berichten description: Berichtenbeheer met meertalige ondersteuning x-wcag-compliance: niveau: "AA" richtlijnen: - "1.1.1: Niet-tekstuele content" - "1.3.1: Info en relaties" - "1.3.2: Betekenisvolle volgorde" - "2.4.4: Linkdoel (in context)" - "3.1.1: Taal van de pagina" - "3.1.2: Taal van onderdelen" - "4.1.2: Naam, rol, waarde" x-inclusivity-features: - "Meertalige documentatie en foutmeldingen" - "Ondersteuning voor diverse datums/tijdzones" - "Cultureel neutrale API design" - "UTF-8 karakter encoding" - "Flexibele authenticatiemethoden" ``` Deze OpenAPI specificatie integreert expliciet WCAG 2.1 toegankelijkheidsrichtlijnen en meertalige ondersteuning door: 1. **Toegankelijkheid**: WCAG compliance metadata, gestructureerde responses, duidelijke foutmeldingen 2. **Inclusiviteit**: Meertalige ondersteuning (NL/EN/FR/DE), cultureel neutrale datums, UTF-8 encoding 3. **Documentatie**: Uitgebreide beschrijvingen van toegankelijkheidsfuncties 4. **Security**: Bearer token authenticatie met toegankelijkheidsoverwegingen 5. **Flexibiliteit**: Meerdere response formaten en taalopties